我想在JUnit
测试中显示警告。我不希望测试因该警告而失败,但我想知道发生了警告。显然,我可以使用System.err.print
或类似的东西。现在我不知道什么是正确的方式与控制台的appender做JUnit测试中的警告
7
A
回答
5
我也曾认为这有时会有用,但这是不能做到的。 JUnit坚持正确和错误的答案,因此只有“成功”,“失败”和“错误”。运行测试时代码在代码中出现故障时出错。我会重构并考虑是否真的需要警告(或者像之前回答建议的日志,尽管我认为此警告很快会丢失),
+0
可能使用TestSuite.warning(String),尽管该栏仍然是红色的。 –
4
使用记录它
final Logger logger = LoggerFactory.getLogger(LoggingTest.class);
@Test
public void test() {
logger.warn("message");
}
PS。使用slf4j记录器的示例。
2
您可以针对您的测试使用log4j配置。
第1步:创建一个文件src/test/resources/test-log4j.properties,其中包含测试的log4j配置。
实施例:
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 /主/ web应用/ WEB-INF /类/
希望这会有所帮助。
相关问题
- 1. Apache Camel JUnit测试警告
- 2. 警告测试
- 3. 在JUnit测试中抑制编译器警告
- 4. 的Android测试“ro.build.date.utc”警告
- 5. Junit报告:在另一个Junit测试中称为Junit测试,不是报告的一部分
- 6. 取消测试(带警告)
- 7. Vuelidate警告噶/柴测试
- 8. 的JUnit:测试
- 9. 测试用例出的顺序JUnit测试报告用TestNG时
- 10. JUnit测试与Cobertura覆盖率报告
- 11. 在Sonar上发布JUnit测试报告
- 12. Redux警告只出现在测试中
- 13. JUNIT:从Junit测试生成可导出的报告
- 14. 报告忽略测试,并在JUnit中获取实时报告?
- 15. Objective - C的连接测试警告
- 16. 测试执行期间的Vue警告
- 17. JUnit测试中的java.util.ConcurrentModificationException
- 18. GWT NetBeans中的JUnit测试
- 19. Android的JUnit测试中Robotium
- 20. Android中的JUnit测试 - DialogFragment
- 21. 如何测试junit测试
- 22. Maven.surefire.util.SurefireReflectionException当测试Junit测试
- 23. Hangman JUnit测试
- 24. spring junit测试
- 25. RxJava2 JUnit测试
- 26. 春JUnit测试
- 27. JUnit测试AspectJ
- 28. JUnit测试后
- 29. Java JUnit测试
- 30. FragmentActivity Junit测试
这取决于您想要显示的警告的位置?安慰?测试输出报告一般? – fge