簡體   English   中英

如何在Java測試之前使Gradle編譯Groovy測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM