我试图在.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"
答案 0 :(得分:0)
原来这是一个构建问题。 App.config文件已复制到构建文件夹(类似。\ bin \ Debug \ net46 \ win7-x64),此副本有时是陈旧的,这意味着它未正确更新。在构建之前删除bin文件夹解决了问题。