使用 ActorSystem.actorOf 创建演员时,如何获取传递给 Props 的类的实例?我需要它来进行单元测试以获取对参与者的某些属性的引用,因此参与者在与测试相同的 JVM 中是本地的。
我不想使用 Akka 的测试框架,因为我需要演员直播,这是一种集成测试。
使用 ActorSystem.actorOf 创建演员时,如何获取传递给 Props 的类的实例?我需要它来进行单元测试以获取对参与者的某些属性的引用,因此参与者在与测试相同的 JVM 中是本地的。
我不想使用 Akka 的测试框架,因为我需要演员直播,这是一种集成测试。
Actor 子类的底层实例与您完全隔离开来,如果不使用 Akka 代码本身,您将无法获得它。如果您查看 ActorRef 的定义,您会发现它甚至不包含对 Actor 的引用!
同样,您不能直接使用实例化 Actor 子类new
。
我猜 Akka 设计师对 ActorRef / Actor 防火墙是认真的......
AkkaTestkit
是为集成测试而设计的。要访问参与者的内部状态,请向它发送一条消息来请求它。您的演员可以回复发件人,即TestKit
's testActor
。