Spring-boot 使用 Spring profiles它允许为不同的环境进行单独的配置。 我使用此功能的一种方法是配置集成测试使用的测试数据库。 但是,我想知道:是否有必要创建我自己的配置文件“测试”并在每个测试文件中明确激活此配置文件? 现在,我按以下方式进行:
在
中创建 application-test.propertiessrc/main/resources
在那里编写特定于测试的配置(现在只是数据库名称)
在每个测试文件中,包括:
@ActiveProfiles("test")
有没有更聪明/更简洁的方法?例如,默认测试配置文件?
编辑 1:这个问题与 Spring-Boot 1.4.1 相关
最佳答案
据我所知,没有任何内容可以直接解决您的请求 - 但我可以提出一个可以提供帮助的建议:
您可以使用自己的测试注释 meta annotation包括 @SpringBootTest
和 @ActiveProfiles("test")
。因此,您仍然需要专用配置文件,但要避免将配置文件定义分散到所有测试中。
此注释将默认为配置文件 test
,您可以使用元注释覆盖配置文件。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@SpringBootTest
@ActiveProfiles
public @interface MyApplicationTest {
@AliasFor(annotation = ActiveProfiles.class, attribute = "profiles") String[] activeProfiles() default {"test"};
}
关于java - 用于集成测试的 Spring-boot 默认配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39690094/