JUnit
テストで警告を表示したいのですが。その警告のためにテストが失敗することを望まないが、警告が発生することを知りたい。もちろん、私はSystem.err.print
または同様のものを使用することができます。今、私はそれを行う正しい方法は何であるか疑問に思います
質問する
11961 次
3 に答える
9
これは時々役立つと思いましたが、これはできません。JUnit は正解と不正解を主張するため、「成功」、「失敗」、「エラー」しかありません。エラーは、テストの実行中にコードで何かが壊れたときです。リファクタリングして、本当に警告が必要かどうかを検討します(または、前の回答が示唆するようにログに記録しますが、この警告はすぐに失われると思います)、
于 2012-12-25T08:53:02.993 に答える
6
コンソールアペンダー付きのロガーを使用してください
final Logger logger = LoggerFactory.getLogger(LoggingTest.class);
@Test
public void test() {
logger.warn("message");
}
PS。slf4jロガーの使用例。
于 2012-12-25T08:46:33.223 に答える
2
テストに固有の log4j 構成を持つことができます。
ステップ 1:テスト用の log4j の構成を含むファイル src/test/resources/test-log4j.properties を作成します。
例:
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.ConsoleAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{3}:%L - %m%n
ステップ 2: pom.xml を次のように編集します。
<build>
...
<plugins>
<plugin>
<artifactid>maven-surefire-plugin</artifactid>
<version>2.3</version>
<configuration>
<systemproperties>
<property>
<!-- Specific log4j config for tests -->
<name>log4j.configuration</name>
<value>test-log4j.properties</value>
</property>
</systemproperties>
</configuration>
</plugin>
...
</plugins>
</build>
log4j.properties は src/main/webapp/WEB-INF/classes/ にあります
お役に立てれば。
于 2012-12-25T08:57:38.430 に答える