ロギング イベントのリストのみを保存する log4j 用のアペンダーはありますか (ユニット テストで使用され、エラー ログが書き込まれていないことを確認します)。
7080 次
3 に答える
3
MemoryAppenderがありますが、標準の log4j ライブラリには含まれていません。
独自のものを簡単に作成できますが、それらを単体テストにのみ使用している場合は、おそらく Logger をモックして、呼び出しが行われないと断言します。ターゲット クラスの getLogger() メソッドをオーバーライドするか、モック Logger を型に直接設定します。
Jmock の使用 (メモリからの例、エラーについては申し訳ありません):
public void testDoFoo() {
Mockery mockery = new Mockery();
Logger mockLogger = mockery.mock(Logger.class);
Foo foo = new Foo();
foo.setLogger(mockLogger);
mockery.checking(new Expectations() {
{
never(mockLogger).debug(with(any(String.class));
}
};
...
//do the actual test.
//assert the mock type has never been called.
mockery.assertIsSatisfied();
}
于 2009-07-19T11:58:31.590 に答える
1
あるとは思いません。ただし、自分で簡単に書くことができます。ここに適切なチュートリアルがあります。
于 2009-07-19T11:40:50.363 に答える