@ActiveProfiles不适用于AbstractTestNGSpringContextTests

时间:2016-03-09 11:59:21

标签: java spring

我在Spring Boot应用程序中引入了配置文件,并将一些属性从application.properties移到了application-puppet.properties。这在运行应用程序时工作正常,但在测试时则不行。

将此添加到application.properties文件:

spring.profiles.active=puppet

将一个属性从application.properties移到application-puppet.properties

person.fileName=person.txt

然后我将@ActiveProfiles添加到抽象测试类:

@ContextConfiguration(classes =  AbstractElasticsearchSpringContextTests.EsConfig.class)
@ActiveProfiles("puppet")
public abstract class AbstractElasticsearchSpringContextTests extends AbstractTestNGSpringContextTests {

...

但我收到这样的错误: 嵌套异常是java.lang.IllegalArgumentException:无法解析占位符' person.fileName'在字符串值" $ {person.fileName}"

1 个答案:

答案 0 :(得分:-1)

您可以在ContextConfiguration批注中将SpringBootContextLoader添加为加载器:

@ContextConfiguration(classes = {AbstractElasticsearchSpringContextTests.EsConfig.class}, loader = SpringBootContextLoader.class)

,它将处理您的活动配置文件属性文件。