1 回答

TA貢獻1862條經驗 獲得超7個贊
我知道這不是最好的解決方案,但我確實通過執行以下操作設法使其發揮作用。
用注釋你的測試類
@Category(my.package.WhateverClass) // I personally used Robolectric
將以下內容添加到您的根目錄build.gradle
if (project.gradle.startParameter?.taskRequests?.args[0]?.remove("--robolectric")) {
subprojects
.all {
it.tasks
.withType(Test)
.configureEach {
println "Configuring task $it.name"
useJUnit {
includeCategories 'my.package.WhateverClass'
}
}
}
} else if (project.gradle.startParameter?.taskRequests?.args[0]?.remove("--unit")) {
subprojects
.all {
it.tasks
.withType(Test)
.configureEach {
println "Configuring task $it.name"
useJUnit {
excludeCategories 'my.package.WhateverClass'
}
}
}
}
./gradlew project:testDebug --robolectric 作為或 運行測試 ./gradlew project:testDebug --unit
如果您不添加任何內容,它將默認運行所有測試
如果您有更多時間,您可能可以創建一個任務,該任務從測試擴展并添加相同的配置。
注意:之所以.remove('--robolectric')存在,是因為 Gradle 會認為它是一個任務,因為它沒有在任何任務中定義為標志
添加回答
舉報