Android 跳过特定生成类型的测试任务
我有4种不同的构建类型:Android 跳过特定生成类型的测试任务,android,gradle,Android,Gradle,我有4种不同的构建类型: 发布 发展 嘲弄 试验 当我想为我的项目创建干净构建任务时,我看到Gradle正在使用单元测试创建干净构建 这是可以的,但是单元测试在每种构建类型下都在运行,一个干净的构建需要4倍的时间 我怎样才能使干净构建只针对发行版构建类型进行单元测试?没有好的任务可以做。所以你必须自己写 尝试在您的build.gradle旁边添加: project.afterEvaluate { // Grab all build types and product flavors
- 发布
- 发展
- 嘲弄
- 试验
干净构建
任务时,我看到Gradle正在使用单元测试创建干净构建
这是可以的,但是单元测试在每种构建类型下都在运行,一个干净的构建需要4倍的时间
我怎样才能使
干净构建
只针对发行版构建类型进行单元测试?没有好的任务可以做。所以你必须自己写
尝试在您的build.gradle
旁边添加:
project.afterEvaluate {
// Grab all build types and product flavors
def buildTypes = android.buildTypes.collect { type -> type.name }
def productFlavors = android.productFlavors.collect { flavor -> flavor.name }
// When no product flavors defined, use empty
if (!productFlavors) {
productFlavors.add('')
}
productFlavors.each { productFlavorName ->
buildTypes.each { buildTypeName ->
def sourceName
if (!productFlavorName) {
sourceName = "${buildTypeName}"
} else {
sourceName = "${productFlavorName}${buildTypeName.capitalize()}"
}
def testTaskName = "test${sourceName.capitalize()}UnitTest"
def assembleTaskName = "assemble${sourceName.capitalize()}"
task "build${sourceName.capitalize()}"(dependsOn: ["$testTaskName", "$assembleTaskName"])
}
}
task 'buildRelease'(dependsOn: tasks.findAll { t -> t.name.startsWith('build') && t.name != 'build' && t.name != 'buildNeeded' })
}
没有什么好工作要做。所以你必须自己写 尝试在您的
build.gradle
旁边添加:
project.afterEvaluate {
// Grab all build types and product flavors
def buildTypes = android.buildTypes.collect { type -> type.name }
def productFlavors = android.productFlavors.collect { flavor -> flavor.name }
// When no product flavors defined, use empty
if (!productFlavors) {
productFlavors.add('')
}
productFlavors.each { productFlavorName ->
buildTypes.each { buildTypeName ->
def sourceName
if (!productFlavorName) {
sourceName = "${buildTypeName}"
} else {
sourceName = "${productFlavorName}${buildTypeName.capitalize()}"
}
def testTaskName = "test${sourceName.capitalize()}UnitTest"
def assembleTaskName = "assemble${sourceName.capitalize()}"
task "build${sourceName.capitalize()}"(dependsOn: ["$testTaskName", "$assembleTaskName"])
}
}
task 'buildRelease'(dependsOn: tasks.findAll { t -> t.name.startsWith('build') && t.name != 'build' && t.name != 'buildNeeded' })
}
它不起作用。我编写了错误的测试,但gradle说
构建成功
啊,等等,我听说你不想运行测试。但事实上是这样。更新的答案,请检查它不起作用。我编写了错误的测试,但gradle说构建成功
啊,等等,我听说你不想运行测试。但事实上是这样。更新的答案,请检查