Akka Testing docs提供了以下创建TestActorRef的方法:
导入akka.testkit.TestActorRef
val actorRef = TestActorRef [MyActor]
如何将其扩展到测试采用构造函数参数的现有actor?当我尝试按原样运行它,替换为actor类时,出现以下错误:
“创建 Actor 时出错
akka.actor.ActorInitializationException:无法实例化Actor
确保没有在类/特征中定义Actor,
如果是这样,请将其放在类(class)/特征之外,f.e。在同伴对象中
或者尝试更改:将'actorOf(Props [MyActor]')更改为'actorOf(Props(new MyActor)'。”
在方括号内的类名后面添加args时,我可能想到的各种想法也都崩溃了并且被烧死了。
最佳答案
您可以这样使用 Props
:
val actorRef = TestActorRef(Props(new MyActor(param1, param2)))
或像这样的工厂方法:
val actorRef = TestActorRef(new MyActor(param1, param2))
请参阅对象
apply
中的TestActorRef
方法。关于scala - 如何在Scala中为具有构造函数参数的Actor创建TestActorRef?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16949348/