エラー状態を作成する単体テストがあります。通常、テスト対象のクラスはこのエラーをログに書き込みます(この場合はlog4jを使用しますが、それは重要ではないと思います)。を使用して、ログレベルを一時的に変更できます
Logger targetLogger = Logger.getLogger(ClassUnderTest.class);
Level oldLvl = targetLogger.getLevel();
targetLogger.setLevel(Level.FATAL);
theTestObject.doABadThing();
assertTrue(theTestObject.hadAnError());
targetLogger.setLevel(oldLvl);
ただし、これは、テスト中に無関係/意図しないエラーが発生した場合、その情報もログに表示されないことも意味します。
ここで使用することになっているベストプラクティスまたは一般的なパターンはありますか?私はそれを助けることができればログレベルをプロデュースするのは好きではありませんが、ERROR
将来の開発者を怖がらせる可能性のあるテスト出力にたくさんのノイズがあるのも好きではありません。