2016-06-10 101 views
2

我需要测试Akka中的两名子女的父母。在我的整合测试中,我需要嘲笑这两个孩子中的一个。两个孩子都是在构造函数中创建的。我怎么弄到的?Akka:嘲笑集成测试中的组件的策略

MyParentActor { 
    val childOne = ChildOne.props(...) 
    val childTwo = ChildTwo.props(...) 
... 
} 
+1

我认为你所需要的只是在这里描述:http://doc.akka.io/docs/akka/current/scala/testing.html#Testing_parent-child_relationships – liosedhel

+0

我经历了几次,但不知道如果我错过了一些东西。最简单的解决方案在我看来用一个嘲弄的替换该演员的部署conf,但看起来你不能这样做。 – Randomize

回答

2

如果你只是需要,而无需创建其父让一个演员的参考,您可以使用TestActorRef

val actorRef = TestActorRef(new ChildOne(param1, param2)) 

否则创建父演员和使用context.child(childName)你可以参考childActor或者您可以使用ActorSelection也可以通过知道其逻辑路径直接向儿童演员发送消息。

+0

不知道我是否得到了正确的答案,但是我怎么能让一个演员刚刚返回专门的值,即使它被拦截了? – Randomize