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