Spring Boot测试-减少控制台输出

时间:2019-03-01 10:21:45

标签: spring spring-boot spring-logback

我们正在严格使用 Spring Boot 1.5.8 ,正如我所看到的,我们尚未指定特定的日志记录框架。我作为初级开发人员负责JUnit测试。我们大约有17,000个单元测试。当我运行大量测试时,IntelliJ在处理控制台输出时不会出现性能问题。我给了IntelliJ很大的力量...

现在,我将Log.LEVEL中的application.yml调整为WARN,效果很好。但是后来我尝试在控制台中摆脱HTTP响应和请求输出。但是,即使我关闭日志记录

logging:
  level:
    root: WARN

application.yml中,它仍显示HTTP请求和响应,如下所示:

IntelliJ console output

这将根据请求填充控制台,其中包含成百上千行的在某些情况下不必要的代码!

我正在寻找关闭此功能的选项...请帮助我。我搜索了一段时间,但找不到答案。 可能我在照顾Spring Boot Logging上走错了路。谢谢=)


修改:  另一个示例:

在以下控制台输出中出现错误。我只需要开始的第一行和红色(加上一些其他)行。如您在滚动条上看到的,这只是完整输出的一小部分! 7033行(!)充满了HTTP请求和响应,就像第一张图片一样。

output start output end

2 个答案:

答案 0 :(得分:1)

眼睛!您使用过:

logging:
level:
root: WARN

这是Yaml格式! (如果您重命名了文件application.yml,它将正常工作)

我相信您需要这样表达:

logging.level.root=WARN

这是在application.properties文件中表达它的正确方法。

答案 1 :(得分:1)

我有机会找到了解决方案。我必须在print = MockMvcPrint.NONE批注中设置@AutoConfigureMockMvc。似乎这收集了HTTP请求并为每个失败的测试做出响应,并在测试失败时打印所有内容!经过几次失败,这导致了巨大的产出!