SpringBoot测试ContextConfiguration没有横幅

时间:2017-03-07 23:32:10

标签: spring-boot spring-boot-test

我正在编写集成测试框架,在我的父测试类中,我有以下内容:

position: fixed

这让我有很大的灵活性,但是,我注意到我的自定义@ContextConfiguration(loader = AnnotationConfigContextLoader.class) public abstract class IntegrationTestParent extends AbstractTestNGSpringContextTests { ... @Configuration @EnableAutoConfiguration @ComponentScan("redacted") public static class AutomationTestConfig { } } 文件不再打印出来了,也没有我的application.properties文件(设置banner.txt和一些正在阅读maven过滤的应用程序变量。

除了一些真正的leet figlet生成的ascii art之外,它还打印了很多关于JVM和各种系统和环境属性的方便的调试信息,所以我对远程环境有了一个非常好的想法(la Jenkins和Bamboo或者他们正在运行任何人的任意笔记本电脑。

除了spring.output.ansi.enabled=ALWAYS之外,还有办法让这种做法成为行为吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个中间解决方案。我将其称为中间,因为我得到了我想要的行为(基于注释的上下文可以在下游项目中加载,我有其他配置和bean等)但我没有使用AnnotationConfigContextLoader类。

我将它换成了SpringApplicationContextLoader。根据{{​​3}}:

  

可用于测试Spring Boot应用程序的ContextLoader   (通常使用SpringApplication启动的那些)。可以用来   测试非Web功能(如存储库层)或启动   完全配置的嵌入式servlet容器。使用@WebIntegrationTest   (或使用@WebAppConfiguration的@IntegrationTest)来表明你   想要单独使用真正的servlet容器或@WebAppConfiguration   使用MockServletContext。

     

如果测试类中提供了@ActiveProfiles,他们将习惯使用   创建应用程序上下文。

基于前几句话,这基本上就是我所寻找的。