彙總應用程式/發行版的測試結果(孵化中)範例
版本 8.7
您可以使用 IntelliJ 原生匯入器 或 Eclipse Buildship 在 IDE 中開啟此範例。 |
此範例顯示如何彙總多個 Java 子專案的測試結果。test-report-aggregation 外掛 在套用至發行專案(例如 Android 應用程式或 WAR 子專案)時,提供此功能。
此範例中的專案包含三個專案:application
、list
和 utilities
。所有三個專案套用 java
外掛,而 application
在其實作組態中使用 list
和 utilities
。application
子專案是此軟體專案的最終發行版,並套用 test-report-aggregation
來執行測試結果彙總。
測試報告彙總外掛目前無法與 com.android.application 外掛搭配使用。
|
application/build.gradle.kts
plugins {
id("myproject.java-conventions")
application
id("test-report-aggregation") (1)
}
dependencies {
implementation(project(":list"))
implementation(project(":utilities"))
}
application {
mainClass = "org.gradle.sample.Main"
}
tasks.check {
dependsOn(tasks.named<TestReport>("testAggregateTestReport")) (2)
}
application/build.gradle
plugins {
id 'myproject.java-conventions'
id 'application'
id 'test-report-aggregation' (1)
}
dependencies {
implementation project(':list')
implementation project(':utilities')
}
application {
mainClass = 'org.gradle.sample.Main'
}
tasks.named('check') {
dependsOn tasks.named('testAggregateTestReport', TestReport) (2)
}
如果存在 jvm-test-suite
外掛,application
專案不需要額外的組態。
1 | 套用 test-report-aggregation 外掛 |
2 | 選用:讓彙總測試報告產生成為「檢查」生命週期階段的一部分 |
聚合邏輯不會自動檢查所有子專案的測試結果。相反地,會選取分發專案執行時期類別路徑的直接和傳遞式專案相依性,以進行潛在的聚合。
對於名為「test」的預設測試套件,不需要額外的設定。聚合報告及其支援的 TestReport
類型工作會根據 application
專案中現有的測試套件進行合成。具有相同 testType
屬性的測試套件將會被聚合。
執行測試並產生報告
$ ./gradlew testAggregateTestReport BUILD SUCCESSFUL 24 actionable tasks: 24 executed
現在可以在 application/build/reports/tests/unit-tests/aggregated-results
中找到聚合的 HTML 報告。
如需更多資訊,請參閱Java 專案章節中的測試。