我有一個只包含Selenium/TestNG測試類的gradle項目。它們是針對部署的戰爭應用程序執行的。所有工作正常,現在我添加一個Java實用程序,它將查詢測試基礎並打印屬於給定TestNG組的測試列表。該實用程序應該與主項目分開編譯和執行,因爲用戶可能希望在測試執行之前查詢測試基礎。如何在主項目外編譯Gradle中的單個類依賴項
我增加了以下內容的build.gradle:
task listgroups(dependsOn:'buildUtil') <<{
ant.java(classname: 'util.TestGroupScanner', fork: true,
classpath: "src/test/java")
}
task buildUtil {
compile {
source = "src/test/java/util"
}
}
但是,調用listgroups任務的時候,我發現了以下錯誤:
C:\console-bg1>g listgroups
FAILURE: Build failed with an exception.
(...)
* What went wrong:
A problem occurred evaluating root project 'console-bg1'.
> Could not find method compile() for arguments [build_4emu7duna2isgubc1k8uts8k9
[email protected]] on root project 'console-bg1'.
我不知道如何解決這個問題並且不用多說,到目前爲止還沒有在網上找到答案。任何指針讚賞。
謝謝你的詳細信息。現在我對Gradle的工作原理有了更好的理解......您是對的,我需要將util移出test/java目錄結構。感謝您指出這一點。我將你的sourceSet定義與另一個響應中的JavaExec結合起來,它可以工作。 – Lidia