2017-06-22 15 views
2

根据激活的配置文件,我们在应用程序和数据源更改中配置了多个Spring Boot配置文件。使用Maven的JUnit的数据源配置

我们已经为Junit测试分开了数据源。现在,我们希望将这个数据源用于JUnit测试,而不管激活的配置文件如何。

我们能够在每个测试课程中都使用@TestPropertySource来实现这一目标,但我们需要在pom.xml的某个位置使用此配置。我知道用于执行Junit测试的maven-surefire-plugin,但不知道如何在那里配置特定的数据源。

有什么办法可以达到这个目的吗? 任何帮助将不胜感激。

+0

只要指定活动的配置文件或注释与'一个基类@ ActiveProfile'。 –

回答

0

这样做的一种简单方法是创建轮廓可靠configuratons如超过正常配置包装,这样的:

资料1:

@Profile("ds1") 
@Import(Ds1Configuration.class) 
public class Ds1ProfileConfiguration {} 

资料2:

@Profile("ds2") 
@Import(Ds2Configuration.class) 
public class Ds2ProfileConfiguration {} 

其中导入的配置包含实际的bean定义:

public class Ds1Configuration { 
    @Bean 
    public DataSource dataSource(){...} 
} 

public class Ds2Configuration { 
    @Bean 
    public DataSource dataSource(){...} 
} 

这将分离你的配置文件和配置,这样你就可以使用这些在你的测试:

@SpringBootTest(classes = Ds2Configuration.class)