【发布时间】:2015-06-03 00:21:32
【问题描述】:
有many在被测试的Actor响应询问时使用akka-testkit的例子:
//below code was copied from example link
val actorRef = TestActorRef(new MyActor)
// hypothetical message stimulating a '42' answer
val future = actorRef ? Say42
val Success(result: Int) = future.value.get
result must be(42)
但是我有一个不响应发送者的 Actor;而是将消息发送给单独的参与者。一个简化的例子是:
class PassThroughActor(sink : ActorRef) {
def receive : Receive = {
case _ => sink ! 42
}
}
TestKit 有一套 expectMsg 方法,但我找不到任何创建测试接收器 Actor 的示例,该 Actor 可能会在单元测试中收到消息。
是否可以测试我的PassThroughActor?
提前感谢您的考虑和回复。
【问题讨论】:
-
您可以创建探针和探针演员。请继续阅读文档。
-
啊,谢谢。显然是一个足够普遍的问题。不过很难用谷歌搜索,因此提出了这个问题。如果您提交答案,我会投票...
标签: scala unit-testing akka scalatest