SpringBoot jUnit没有加载application-dev.xml

时间:2017-04-18 07:18:28

标签: java eclipse spring-boot junit

我正在使用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{
}
}

2 个答案:

答案 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")

上使用它