2017-12-27 1027 views
0

我正在使用TestKit来测试Akka Actor。我有一个Demo类,它有方法getActorRef,它将输入作为字符串并返回一个ActorRef。如何模拟上下文(ActorContext)?

class Demo @Inject()(a: A. b: B, context: ActorContext) { 
    def getActorRef(id: String): ActorRef 
} 

我在创建Demo.Now对象时嘲笑了A,B,我正面临着如何模拟上下文的问题。

我做了什么嘲笑它? val context = mock [ActorContext]

但它没有奏效。

+0

是否必须嘲笑?为什么不使用akka测试包来提供'ActorContext'?类似于https://stackoverflow.com/questions/36945414/how-do-i-supply-an-implicit-value-for-an-akka-stream-materializer-when-sending-a/36985091#36985091 –

回答

0

目前尚不清楚你想要做什么,或者遇到什么错误。我是猜测您正在使用ActorContextgetActorRef内部获得ActorRef。如果是这样,你是否尝试过使用Mockito来创建一个模拟ActorContext,当你在测试中构造它时将它传递到Demo,然后将所调用的ActorContext方法截掉,以便它返回你想要的值(例如,测试探头,还是一些这样的东西)?

我希望能够工作,假设这就是你想要做的。