java - 如何使用SpringJUnit4TestRunner在junit测试中隐藏spring boot banner.txt?

Posted

技术标签:

【中文标题】java - 如何使用SpringJUnit4TestRunner在junit测试中隐藏spring boot banner.txt?【英文标题】:How to hide spring boot banner.txt in junit test with SpringJUnit4TestRunner? 【发布时间】:2016-01-30 15:23:09 【问题描述】:

当我配置 Spring Boot 应用程序时,我可以通过静态 main 方法中的运行配置来禁用横幅。到目前为止一切顺利。

但如果我有以下情况怎么办:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes=MyApplication.class)
public class MyApplicationTest  
  ....

当我运行这个测试时,它没有使用静态的 main 方法,而是显示了横幅,使得关注相关的日志语句变得更加困难。

是否有可以用来模拟new SpringApplication(MayApplicationclass).setShowBanner(false)... 的开关或配置注释?

【问题讨论】:

【参考方案1】:

你可以把它放在你的测试属性中:

spring.main.show_banner=false

【讨论】:

我认为现在的语法是:spring.main.banner-mode=off 我不清楚这将是什么文件(例如:我尝试了一些我能想到的东西,但无济于事)。提示将不胜感激,谢谢。【参考方案2】:

在 src/test/resources 中放置一个空的banner.txt 文件将停止在运行测试时显示横幅。

【讨论】:

另外,如果你在banner.txt 中加入一行,并使用vim 中的set nofixeol 功能去除尾随的EOL,你可以在输出中得到一个很容易grep 的分隔线d 为。【参考方案3】:

您可以在测试注释中指定属性:

@SpringBootTest(properties="spring.main.banner-mode=off")

【讨论】:

以上是关于java - 如何使用SpringJUnit4TestRunner在junit测试中隐藏spring boot banner.txt?的主要内容,如果未能解决你的问题,请参考以下文章

Java技术_Java千百问(0018)_switch如何使用

JAVA中的Debug如何使用

如何使用 JAVA_OPTS 环境变量?

JAVA中 如何使用延迟?

java 中如何使用sql插入语句

Java技术_Java千百问(0020)_break与contine分别如何使用