Akka Testing docs给出了以下创建TestActorRef的方法:
import akka.testkit.TestActorRef val actorRef = TestActorRef[MyActor]
如何扩展它以测试带有构造函数参数的现有actor?当我尝试按原样运行时,在我的actor类中替换,我得到以下错误:
“创建actor时出错
akka.actor.ActorInitializationException:无法实例化Actor
确保Actor未在类/特征中定义,
如果是这样,把它放在类/特征之外,那么。在伴侣物体中,
或者尝试改变:'actorOf(Props [MyActor]'到'actorOf(Props(new MyActor)'。“
我可以想到在方括号内的类名后添加args的各种想法都会崩溃和烧毁。
答案 0 :(得分:26)
您可以像这样使用Props
:
val actorRef = TestActorRef(Props(new MyActor(param1, param2)))
或像这样的工厂方法:
val actorRef = TestActorRef(new MyActor(param1, param2))
请参阅对象TestActorRef
中的apply
个方法。