2017-06-22 50 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)