2016-06-10 102 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