このメソッドの出力を取得するには、文字列変数myLogger.log(e)をJunitでテストできるようにします。文字列変数myLogger.log(e)を取得します
myLogger.log(e);
String s= ????
assertEqual(expected,s);
このメソッドの出力を取得するには、文字列変数myLogger.log(e)をJunitでテストできるようにします。文字列変数myLogger.log(e)を取得します
myLogger.log(e);
String s= ????
assertEqual(expected,s);
StringWriterに書き込むlog4jアペンダーを書くことができます。この記事を見てください:
あなたのロガーに追加アペンダを追加することができます。そして、あなたがにStringWriterの#1のtoString()説明hereとして
public static void main(String[] args) {
Logger logger = Logger.getLogger("logger");
Layout layout = new PatternLayout();
StringWriter stringWriter = new StringWriter();
WriterAppender writerAppender = new WriterAppender(layout, stringWriter);
logger.addAppender(writerAppender);
logger.error("test");
String string = stringWriter.toString();
System.out.println(string);
}
の値にあなたのTextAreaの内容を変更するにStringWriterへの書き込みにWriterAppenderを使用してください。
myLoggerのクラスに関する情報をもう少しあげてください –
Log4jを使用している場合、例外として例外が発生します。 – josephino
なぜログ文字列をテストしたいのですか?これは私にとってはかなり奇妙に思えます。特に、通常、展開中に簡単にログ形式を変更できるからです。単体テストでは、通常はロジックをテストし、ロギングはテストしません。 – Thomas