【发布时间】:2019-01-08 01:44:13
【问题描述】:
我试图在执行单元测试期间从 application-test.yml 读取属性,但取而代之的是从 application-dev.yml 读取属性。我没有 application.yml 文件。感谢您的帮助。
AppProperties.java
@Component
@ConfigurationProperties(prefix="app")
public class AppProperties {
private String test;
public String getTest() {
return this.test;
}
public void setTest(String test) {
this.test = test;
}
}
application-dev.yml
spring:
profiles: dev
application:
name: testApplication
app:
test: 1
application-test.yml
spring:
profiles: test
application:
name: testApplication
app:
test: 2
AppServiceTest.java
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {AppProperties.class}, initializers= ConfigFileApplicationContextInitializer.class)
@EnableConfigurationProperties
@ActiveProfiles("test")
public class AppServiceTest{
@Autowired
AppProperties appProperties;
@Test
public void test(){
appProperties.getTest();
//This returns "1" instead of the desired "2"
}
【问题讨论】:
-
尝试用
@SpringBootTest注释AppServiceTest
标签: java spring-boot