The Akka 测试文档 http://doc.akka.io/docs/akka/snapshot/scala/testing.html给出以下创建 TestActorRef 的方法:
import akka.testkit.TestActorRef
val actorRef = TestActorRef[MyActor]
如何扩展它以测试采用构造函数参数的现有参与者?当我尝试按原样运行它并替换我的 actor 类时,出现以下错误:
“创建演员时出错
akka.actor.ActorInitializationException:无法实例化 Actor
确保 Actor 未在类/特征内定义,
如果是这样,请将其放在类别/特征之外,例如在伴生对象中,
或者尝试将 'actorOf(Props[MyActor]' 更改为 'actorOf(Props(new MyActor)'。”
我能想到的在方括号内的类名后面添加参数的各种想法也都崩溃了。
你可以使用Props http://doc.akka.io/api/akka/2.1.4/index.html#akka.actor.Props像这样:
val actorRef = TestActorRef(Props(new MyActor(param1, param2)))
或者像这样的工厂方法:
val actorRef = TestActorRef(new MyActor(param1, param2))
See apply
对象中的方法TestActorRef http://doc.akka.io/api/akka/2.1.4/#akka.testkit.TestActorRef%24.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)