[英]How to make Gradle compile Groovy tests before Java tests
Gradle的Groovy插件聲稱它"supports joint compilation, which allows to freely mix and match Groovy and Java code, with dependencies in both directions"
。
但是,我不認為這適用於測試代碼。
我在src/test/java...
有一個Java'sample'測試src/test/java...
它使用了一個位於src/test/groovy
。
嘗試使用Gradle構建時,我收到如下錯誤:
SwingJavaFXSampleAppTestInJava.java:23: error: cannot find symbol
SwingJavaFXSampleAppTest swingJavaFx = new SwingJavaFXSampleAppTest();
請注意, SwingJavaFXSampleAppTest
是尚未編譯(在搖籃輸出我可以看到,它沒有運行Groovy類compileTestGroovy
它試圖之前compileTestJava
因為前者依賴於后者)。
我可以使用groovy-eclipse插件與Maven構建同一個項目。
為什么它聲稱支持任何順序的編譯時在Gradle中不起作用,我怎樣才能使它工作?
如Gradle用戶指南中所述 ,只有傳遞給GroovyCompile
任務的代碼是聯合編譯的。 因此,要么將Java和Groovy代碼都放入src/main/groovy
,要么重新配置源集:
sourceSets.main.java.srcDirs = []
sourceSets.main.groovy.srcDirs = ["src/main/java", "src/main/groovy"]
對於測試,將所有出現的main
替換為test
。
您應該能夠將java測試移動到src/test/groovy
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.