我正在使用SpringBoot进行最新的开发。基于配置的配置我们有3个文件在那里
application- {env} .properties,env表示dev,stage和prod
当我使用-Dspring.profiles.active=dev
运行配置在eclipse中本地运行项目时,它正在从application-dev.properties中选择配置。但是如果我尝试运行一个jUnit,那么期望application.properties会抛出错误。我把一个application.properties工作正常。请告诉我如何配置基于配置文件的JUnit以便选择application-dev.properties 。请提前感谢您的意见。
@SpringBootTest
@RunWith(SpringRunner.class)
public class ProcessingServiceTest {
@Test
public void testlet2MeIn() throws Exception{
}
}
答案 0 :(得分:2)
你试过setProperty
吗?
@SpringBootTest
@RunWith(SpringRunner.class)
public class ProcessingServiceTest {
public ProcessingServiceTest(){
System.setProperty("spring.profiles.active","dev");
}
@Test
public void testlet2MeIn() throws Exception{
}
}
答案 1 :(得分:1)
您可以使用@TestPropertySource
指定属性文件,并指定应该使用哪个文件来加载测试属性
@TestPropertySource(locations = "classpath:application-dev.properties")
或者
最简单的方法是在测试类@ActiveProfiles("dev")