我希望能够为我的Android项目执行两个(或多个)测试任务,区别在于要包含/排除的一组不同的Junit类别。
使用gradle java插件,我可以做类似的事情
task testFast(type: Test) {
useJUnit {
includeCategories 'foo.Fast'
excludeCategories 'foo.Slow'
}
}
task testSlow(type: Test) {
useJUnit {
includeCategories 'foo.Slow'
excludeCategories 'foo.Fast'
}
}
但是,如果使用android插件,则必须将testOptions添加到android闭包中才能包含/排除,
android {
...
testOptions {
unitTests.all {
useJUnit {
excludeCategories foo.Slow'
}
}
}
...
}
但当然适用于所有构建变体的所有测试任务。
有没有办法创建使用相同构建变体但在不同类别上执行测试的任务?
最佳答案
我想出的最好方法是在命令行中使用gradle属性:
testOptions {
unitTests.all {
useJUnit {
if (project.hasProperty('testCategory') && testCategory == "Slow") {
includeCategories 'foo.Slow'
} else {
excludeCategories 'foo.Slow'
}
}
}
}
和使用
gradlew -PtestCategory=Slow test
关于android - Android类别的单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35459685/