单元测试环境中的AKKA.NET配置

时间:2016-08-25 18:56:40

标签: unit-testing .net-core akka.net

我试图在.NET Core 1.0的单元测试环境中使用HOCON配置块来配置我的AKKA.NET运行时环境。显然,配置不会从App.config文件中获取。

任何人都可以解释在单元测试环境(xunit)中运行时AKKA.NET如何获取HOCON配置?

如果上述问题没有提供足够的信息,请参阅以下详细信息:

我试图避免众所周知的警告。

NewtonSoftJsonSerializer has been detected as a default serializer. It will be obsoleted in Akka.NET starting from version 1.5 in the favor of Wire 

我设法通过App.config中的以下部分使用AKKA.NET从控制台应用程序中删除此消息:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="akka" type="Akka.Configuration.Hocon.AkkaConfigurationSection, Akka" />
  </configSections>
  <akka>
    <hocon>
    <![CDATA[
        akka {
                actor {
                    serializers {
                      wire = "Akka.Serialization.WireSerializer, Akka.Serialization.Wire"
                    }
                        serialization-bindings {
                        "System.Object" = wire
                        }
                    }
                }
    ]]>
    </hocon>
  </akka>
</configuration>

当我在我的单元测试项目中执行相同操作时,它没有相同的效果。

我使用xunit进行单元测试。这些是我的依赖:

"Akka": "1.1.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0",
"NSubstitute": "1.10.0",
"xunit": "2.2.0-beta2-build3300",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"Akka.TestKit": "1.1.1",
"Akka.TestKit.Xunit2": "1.1.1",
"Akka.Serialization.Wire": "1.1.1.28-beta"

1 个答案:

答案 0 :(得分:0)

原来这是一个构建问题。 App.config文件已复制到构建文件夹(类似。\ bin \ Debug \ net46 \ win7-x64),此副本有时是陈旧的,这意味着它未正确更新。在构建之前删除bin文件夹解决了问题。