我正在对使用群集工具DistributedPubSub
的actor进行单元测试。对于测试,我使用的是Akka.net的TestKit。
显然,在TestKit中,系统角色Sys
没有DistributedPubSub
工具,并且在访问它时会抛出Null指针异常。
这是在将actor设为Sys的孩子时失败的代码:
var mediador = DistributedPubSub.Get(Context.System).Mediator;
有没有办法模拟它或创建一个actor探针,以便与Sys
一起使用?
答案 0 :(得分:3)
我认为问题在于,在将HOCON传递给基类构造函数时,在使用任何TestKit类时,需要在HOCON中指定以下内容:
public class DistributedPubSubMediatorSpec : TestKit
{
public DistributedPubSubMediatorSpec() : base(GetConfig()) { }
public static Config GetConfig()
{
return ConfigurationFactory.ParseString("akka.actor.provider = \"Akka.Cluster.ClusterActorRefProvider, Akka.Cluster\"");
}
}
我在Akka.NET上添加了拉取请求以测试此问题,并且规范通过:https://github.com/akkadotnet/akka.net/pull/2424