2017-01-24 25 views
3

在我們的項目中,我們設置我們的集成測試:如何在春季啓動通過覆蓋在<code>IntegrationTest</code>標註屬性,如下圖所示覆蓋彈簧啓動應用程序屬性1.4.3

春季啓動
@RunWith(SpringJunitClassRunner.class) 
@IntegrationTest("server.port:0", 
        "health.hystrix.enabled:false" 
        .... other properties .... 
       ) 
@ActiveProfile("local","no-swagger") 
public class IntegrationTest{ 
} 

然而1.4 @IntegrationTest註釋已被棄用。 Spring文檔建議使用@SpringBootTest註釋。 我的問題是如何覆蓋這個新註釋的屬性?

回答

3

我的理解from the docs是你可以覆蓋@SpringBootTest內的屬性。

@SpringBootTest註釋還具有屬性屬性,它 可以用來指定任何附加屬性應該是在環境中定義 。屬性現在以與Spring的常規@TestPropertySource註釋相同的方式加載到精確的 中。

And also the javadoc of @SpringBootTest says

@AliasFor(value="value")

public abstract String[] properties

屬性形式key=value應添加到春節 環境測試運行之前。

返回:屬性添加

所以,簡單地覆蓋內@SpringBootTest註釋的屬性。

@SpringBootTest(properties={"server.port=0"}) 
+0

1但[SpringBootTes](http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/context/SpringBootTest.html)噸的Javadoc是也值得鏈接。 –

+2

@AliDehghani感謝阿里,補充說。 – Patrick