2016-09-22 142 views
2

有沒有一種乾淨的方式來運行Gradle中項目Java依賴項的所有測試任務?我注意到Java依賴關係只能運行它們的「jar」任務,並跳過測試/構建。默認情況下爲項目依賴性運行gradle測試

主代碼的build.gradle

dependencies { 
     compile project(":shared-code") 
} 

gradle這個:主碼:打造< - 命令,我要運行(這也將運行:共享代碼:測試,不希望明確說明它)

:shared-code:compileJava UP-TO-DATE 
:shared-code:processResources UP-TO-DATE 
:shared-code:classes 
:shared-code:jar 

< - 什麼是真正被運行共享代碼(不是缺少編譯/測試)

**我能想到的最好的事情是finalizeBy TA SK與試驗瓶

回答

1

UPD:其實有一個叫buildNeeded

任務

buildNeeded - 組裝和測試這個項目,它依賴於所有項目。

它將構建您當前項目依賴的項目的運行測試。


OLD答: 似乎gradle這個不`噸做外的框(2.14.1版本測試)。 我想出了一個解決方法。 build任務觸發評估包含測試階段的其他任務鏈。

testwebserver/lib$ gradle build --daemon 
:testwebserver-lib:compileJava UP-TO-DATE 
:testwebserver-lib:processResources UP-TO-DATE 
:testwebserver-lib:classes UP-TO-DATE 
:testwebserver-lib:jar UP-TO-DATE 
:testwebserver-lib:assemble UP-TO-DATE 
:testwebserver-lib:compileTestJava UP-TO-DATE 
:testwebserver-lib:processTestResources UP-TO-DATE 
:testwebserver-lib:testClasses UP-TO-DATE 
:testwebserver-lib:test UP-TO-DATE 
:testwebserver-lib:check UP-TO-DATE 
:testwebserver-lib:build UP-TO-DATE 

爲了迫使依賴項目(testwebserver-LIB)的測試依賴項目(testwebserver)我加入testwebserver /的build.gradle任務依賴性:

... 
compileJava.dependsOn ':testwebserver-lib:test' 

dependencies { 
    compile project(':testwebserver-lib') 
} 
...