2012-03-20 28 views
2

例外のために文字列を記録するメソッドがあります。 私のJUnitテストでは、ログを読み込み、その中に文字列が存在することを確認したいと思います。Junitテストでログファイルを読み取る方法

誰かがこれを行う方法を提案できますか?

+0

コンソールへの出力をキャプチャするのか、ログファイルについて話している「ログ」ですか?それがファイルの場合は、ファイルを開いて読み込みます。 – Jochen

答えて

1

例外が検出された場合に、予期したメッセージがロガーに送信されることをテストします。ログファイルの解析はオプションですが、その方法ではロガー設定もテストします(このテストでは範囲外です)。

モックが予想されるメッセージと期待されるログレベルを受け取った場合、ロガーを擬似してテストすることができます。

それとも - メソッドにログインしている場合、テストは、ファイル内またはコンソールの「生」のロギングメッセージを受信するための特別なロガーの設定を使用し

6

(あなたは内部の出力ストリームへの出力をリダイレクトできます) Log4Jではモックアペンダーを作成し、それをテスト対象のクラスにアタッチすることができます。テストを実行した後、モックアペンダーをチェックし、正しい文字列がログに記録されていることを確認できます。

+0

これは私がやったことです..ありがとう!! – user1180969

+1

質問に最もよく答える答えを受け入れることが慣例です。 –

関連する問題