gpt4 book ai didi

java - Akka 。如何在 java 中模拟 child Actor ?

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:54 24 4
gpt4 key购买 nike

假设我有一个父 actor,他自己创建了 Actor。

public static class Parent extends UntypedActor {

private ActorRef child = context().actorOf(Props.create(Child.class));

@Override
public void onReceive(Object message) throws Exception {
// do some stuff
child.tell("some stuff", self());
}
}

public static class Child extends UntypedActor {

@Override
public void onReceive(Object message) throws Exception {

}
}

我怎么能 mock 这个 child Actor?谷歌没有给我任何合理的结果。 Akka 的文档告诉我创建 Actor 是一种很好的做法。但是,如果我连我的 Actor 都不能测试,我怎么能遵循这种做法呢?

最佳答案

我按照类似问题的回答中所述使用探针:

How to mock child Actors for testing an Akka system?

ActorSystem system = ActorSystem.create();

new JavaTestKit( system )
{{
final JavaTestKit probe = new JavaTestKit( system );
final Props props = Props.create( SupervisorActor.class );

final TestActorRef<SupervisorActor> supervisorActor =
TestActorRef.create( system, props, "Superman" );

supervisorActor.tell( callCommand, getTestActor() );

probe.expectMsgEquals(42);
assertEquals(getRef(), probe.getLastSender());
}};

关于java - Akka 。如何在 java 中模拟 child Actor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35972430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com