5

使用 ActorSystem.actorOf 创建演员时,如何获取传递给 Props 的类的实例?我需要它来进行单元测试以获取对参与者的某些属性的引用,因此参与者在与测试相同的 JVM 中是本地的。

我不想使用 Akka 的测试框架,因为我需要演员直播,这是一种集成测试。

4

2 回答 2

7

Actor 子类的底层实例与您完全隔离开来,如果不使用 Akka 代码本身,您将无法获得它。如果您查看 ActorRef 的定义,您会发现它甚至不包含对 Actor 的引用!

同样,您不能直接使用实例化 Actor 子类new

我猜 Akka 设计师对 ActorRef / Actor 防火墙是认真的......

于 2013-01-11T16:00:47.390 回答
3

AkkaTestkit是为集成测试而设计的。要访问参与者的内部状态,请向它发送一条消息来请求它。您的演员可以回复发件人,即TestKit's testActor

于 2013-01-11T16:32:03.940 回答