Akka Testing docs给出以下创建 TestActorRef 的方法:
import akka.testkit.TestActorRef val actorRef = TestActorRef[MyActor]
我如何扩展它以测试接受构造函数参数的现有 actor?当我尝试按原样运行它并替换为我的 actor 类时,出现以下错误:
“创建 Actor 时出错
akka.actor.ActorInitializationException:无法实例化 Actor
确保 Actor 没有在类/特征中定义,
如果是这样的话,把它放在类/特征之外,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/