对于使用JUnit5的项目,我已经将默认测试生命周期设置为per_class
。这是在junit-platform.properties
文件中完成的。但是,由于应用了此配置,因此在我的测试运行之前,现在有很多日志输出:
Dec 06, 2018 8:15:22 PM org.junit.platform.launcher.core.LauncherConfigurationParameters fromClasspathResource
INFO: Loading JUnit Platform configuration parameters from classpath resource [file:/Users/amb85/Projects/kotlin/katas/out/test/resources/junit-platform.properties].
Dec 06, 2018 8:15:22 PM org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils getDefaultTestInstanceLifecycle
INFO: Using default test instance lifecycle mode 'PER_CLASS' set via the 'junit.jupiter.testinstance.lifecycle.default' configuration parameter.
我不想看到这些日志消息。如何禁用它们或将日志级别设置为更高?
答案 0 :(得分:0)
我也遇到同样的问题。一种可能的解决方案是拦截默认的JUnit5记录器(java.util.logging.LogManager)并丢弃该INFO日志。我尚未实现它,但您并不孤单。
这是我研究中的一些链接:
答案 1 :(得分:0)
在以下位置找到了答案: https://github.com/junit-team/junit5/issues/1774#issuecomment-463662553
总结: 设置“ java.util.logging.config.file”系统属性,使其指向可降低日志级别的logging.properties文件。
tasks.withType(Test).configureEach {
useJUnitPlatform()
systemProperty 'java.util.logging.config.file', "${project.buildDir}/resources/test/logging-test.properties"
testLogging {
showStandardStreams = true
}
}
logging-test.properties:
handlers=java.util.logging.ConsoleHandler
.level=INFO
org.junit.platform.launcher.core.LauncherConfigurationParameters.level=WARNING
org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.level=WARNING