【发布时间】:2017-10-29 10:52:27
【问题描述】:
我的 Spring Boot 测试堆栈是 Maven + Surefire + JUnit4。我正在使用 @RunWith(SpringJUnit4ClassRunner.class) 注释测试。
我的项目根目录中有application.properties,这行:
logging.level.root=INFO
这控制运行 Spring boot 应用程序时的日志记录,并且可以正常运行。
但是,每当我运行任何 JUnit4 测试时,我都会收到如下所示的 DEBUG 输出页面的垃圾邮件:
....
17:43:20.500 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'autoConfigurationReport'
17:43:20.500 [main] DEBUG org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader - Registered bean definition for imported class 'org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration'
17:43:20.501 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'org.springframework.boot.autoconfigure.condition.BeanTypeRegistry'
17:43:20.502 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'autoConfigurationReport'
....
所有这些垃圾邮件使我们几乎不可能看到真正相关的部分。如何将日志记录级别应用于测试输出?
我没有明确设置任何日志记录,根据文档,默认使用 Logback。
【问题讨论】:
-
您在
/test/resources中有application.properties吗?您还可以在使用-Dspring.foo.bar=baz执行测试时传递任意属性。 -
@jonrsharpe 我只是尝试将我的 application.properties 复制到那里,但没有任何改变。
标签: java spring maven logging logback