6

私がこれまでに目にした唯一のことは、誰かが TypedActor をテストする例を投稿したことです。Junit を介して UntypedActor をテストする方法はないと思いますか? Akka のドキュメントは日ごとに改善されていますが、テストについては言及されていません。それは本当に明白で、何かが足りないのですか?

4

3 に答える 3

5

JUnit でテストするには、JUnit が提供する機能を使用する必要があります。アクターのテストに関するドキュメント (Java の同等物は UntypedActor) は次のとおりです: http://akka.io/docs/akka/snapshot/scala/testing.html

于 2011-05-12T08:14:00.007 に答える
1

私が書いたブログ投稿に興味があるかもしれません:MockitoとFEST-Reflectを使用したAKKAアクターのテスト私が使用している例は、JUnit、Mockito、およびFEST-Reflectに基づいています。それがあなたに役立つかどうか教えてください。

于 2012-09-10T13:23:52.283 に答える
1

少なくともバージョン 1.3 と 2.0 と akka-testkit ライブラリでは可能です。

アクターをセットアップするには、次のようにします。

@Before
public void initActor() {
    actorSystem = ActorSystem.apply();
    actorRef = TestActorRef.apply(new AbstractFunction0() {

        @Override
        public Pi.Worker apply() {
            return new Pi.Worker();
        }

    }, actorSystem);
}

その後、TestProbe クラスを使用してアクターをテストできます (バージョン 1.3 の場合は少し異なります)。

@Test
public void calculatePiFor0() {
    TestProbe testProbe = TestProbe.apply(actorSystem);
    Pi.Work work = new Pi.Work(0, 0);        
    actorRef.tell(work, testProbe.ref());

    testProbe.expectMsgClass(Pi.Result.class);     
    TestActor.Message message = testProbe.lastMessage();
    Pi.Result resultMsg = (Pi.Result) message.msg();
    assertEquals(0.0, resultMsg.getValue(), 0.0000000001);
}

私の経験のいくつかについて書いたブログ投稿には、さらに多くの情報があります

于 2012-03-07T19:59:52.713 に答える