1

アクター用にいくつかのテスト ケースをコーディングしようとしています。問題は、一部のテストが失敗することであり、なぜ失敗したのか手がかりが得られません。

通常のシナリオでは、私のコードは (テストなしで) 正常に動作していますが、私のテストでは、twitter4j ライブラリの一部をモックしているため、複雑になっています。

テストは失敗しており、それに関する有用な情報はありません。

受信したメッセージを akka testkit と scalatest でログに記録する方法はありますか?

4

1 に答える 1

0

受信したすべてのメッセージをログに記録できるようにするには、次の 3 つのことを行う必要があります。

1) (パッケージから)receiveを使用して、ロギングを有効にするアクターに関数をラップします。LoggingReceiveakka.event

2) akka.actor.debug.receiveconfig から設定をtrue

DEBUG3)ログ設定がレベルでメッセージを表示することを確認してください

したがって、アクターは次のようになります。

import akka.actor._
import akka.event.LoggingReceive
class MyActor extends Actor{
  def receive = LoggingReceive{
    case msg => ...
  }
}

DEBUGこのように設定すると、テスト中のアクターのレベルに記録されたすべての着信メッセージが表示されるようになります。詳細については、Akka Docs のTesting Actor Systemsセクション、特に Tracing Actor Invocations サブセクションを参照してください。

于 2014-09-02T12:24:10.157 に答える