[英]Gradle: get a Groovy test script to use an auxiliary Java class
我正在嘗試找出如何在測試階段獲取Groovy測試腳本以導入Java類的方法...
具體來說,我想從這里使用JavaFXThreadingRule
:.java文件(或者在這里包含在我的Java測試源路徑中),然后import
其import
到Groovy測試腳本中以用作注釋。
Groovy測試腳本路徑為src \\ test \\ ft \\ groovy \\ core \\ testscript.groovy。
.java文件是src \\ test \\ ft \\ java \\ core \\ JavaFXThreadingRule.java。
我在這兩者中使用的包裝行是“包裝核心”;
我在build.gradle中的“ sourceSets”子句如下所示:
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
test {
java {
srcDirs = ['src/test/ft/java' ]
}
groovy {
srcDirs = ['src/test/ft/groovy', 'src/test/ut/groovy']
}
}
}
有趣的是,的build.gradle輸出顯示compileTestJava
任務在運行之前compileTestGroovy
任務......,但我得到
無法解析類core.JavaFXThreadingRule @第18行,第1列。import core.JavaFXThreadingRule ^
注意,我也嘗試過“ import JavaFXThreadingRule”-同樣的結果。
除了只想解決問題之外,我還想知道Gradle如何決定以什么順序執行任務compileTestJava
和compileTestGroovy
...以及我是否不應該讓我的compileTestGroovy
明確依賴於compileTestJava
...
多虧了蒂姆·耶茨(Tim Yates),我發現了將這個Java文件與Groovy文件一起放入的“解決方法” ...但是這個答案為我提供了另一個線索,然后我將build.gradle更改為這樣:
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
test {
groovy {
srcDirs = ['src/test/ft/groovy', 'src/test/ut/groovy', 'src/test/ft/java' ]
}
}
}
...的工作...無疑對Gradle的老手很明顯。
上面提到的問題和答案是關於應用程序代碼類(和Gradle任務)的。 除非某些Gradle專家可以另行說明,否則我假設Groovy測試編譯任務和Java測試編譯任務是完全分開的,並且無法“看到”彼此的類...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.