【问题标题】:How to test DistributedPubSub with the TestKit in Akka.net?如何使用 Akka.net 中的 TestKit 测试 DistributedPubSub?
【发布时间】:2016-12-20 19:03:20
【问题描述】:

我正在对使用集群工具DistributedPubSub 的参与者进行单元测试。对于测试,我使用的是 Akka.net 的 TestKit。

显然,在 TestKit 中,系统参与者 Sys 没有 DistributedPubSub 工具,并且在访问它时会抛出空指针异常。

这是当 Actor 被创建为 Sys 的子级时失败的代码:

var mediador = DistributedPubSub.Get(Context.System).Mediator;

有没有办法模拟它或创建一个actor探针来将它与Sys一起使用?

【问题讨论】:

    标签: akka.net akka-testkit


    【解决方案1】:

    我认为问题在于,在使用任何 TestKit 类时,当您将 HOCON 传递给基类构造函数时,您需要在 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-25
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多