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/

10-13 08:02