当测试在maven中失败时,target/surefire-reports/TEST-<test-name>.xml
中的surefire测试报告xml文件仅显示标准输出System.output
或标准错误System.err
当我使用jdk java.util.logging.Logger
标准错误<system-err> tag
中的所有日志记录显示时,但是当我使用log4j时它没有显示。
log4j的日志记录通过FileAppender和ConsoleAppender正常工作。它显示在完整的控制台输出中,但不显示在各个测试报告文件中。
System.out
,以便在surefire rerport中显示?答案 0 :(得分:12)
选项一:
对于标准日志记录(System.out / System.err),您可以输出以下内容:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
这将为每个测试生成输出文件。
选项二:
对于log4j配置,您可以创建自定义log4j.xml / log4j.properties并将其放在src / test / resources下。
答案 1 :(得分:1)
更新surefire插件版本。
使用版本2.9时,使用ConsoleAppender时,log4j输出显示在<system-out>