22

Akka 测试文档提供了以下创建 TestActorRef 的方法:

导入 akka.testkit.TestActorRef

val actorRef = TestActorRef[MyActor]

如何扩展它以测试采用构造函数参数的现有参与者?当我尝试按原样运行它时,替换为我的演员类,我收到以下错误:

“创建actor时出错akka.actor.ActorInitializationException:无法实例化Actor
确保Actor未在类/特征内定义,
如果是这样,请将其放在类/特征之外,fe在伴随对象中,
或者尝试更改:'actorOf (道具 [MyActor]' 到 'actorOf(Props(new MyActor)'。"

我能想到的在方括号内的类名之后添加 args 的各种想法也都崩溃了。

4

1 回答 1

29

你可以这样使用Props

val actorRef = TestActorRef(Props(new MyActor(param1, param2)))

或者像这样的工厂方法:

val actorRef = TestActorRef(new MyActor(param1, param2))

请参阅applyobject 中的方法TestActorRef

于 2013-06-05T20:44:40.107 回答