[英]Create a copy of Gradle Test task
我需要在本地和自動在TeamCity服務器上運行項目測試。
本地測試執行必須使用本地數據庫連接,並且在TeamCity上運行時,測試必須使用與數據庫的遠程連接。
因此,在這種情況下,我需要告訴我的測試,何時使用本地連接以及何時使用遠程並傳遞URL,用戶名和密碼。
告訴我,我決定使用java系統屬性。 我在Gradle中找到了內置的支持
systemProperty 'some.prop', 'value'
問題是,如何為本地測試運行創建不傳遞任何屬性的標准測試任務,以及如何在運行前設置系統屬性的自定義測試任務?
我嘗試了類似的東西
task teamCityTest(type : Test) {
scanForTestClasses = false
includes = ['**/*Test.class']
systemProperty 'some.prop', 'value'
}
但是NPE失敗了,這意味着我做錯了。
這種方法很好(您可以使用Java插件的test
任務在本地運行測試),但是您必須為teamCityTest
配置其他屬性,例如classpath = configurations.testRuntime
(甚至是classpath = test.classpath
)。 有關完整示例,請參閱gradle-all
發行samples/java/withIntegrationTests
中的samples/java/withIntegrationTests
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.