在项目“:module”中找不到名称为 'testDebug' 的任务

Task with name 'testDebug' not found in project ':module'

com.android.tools.build:gradle:1.3.0 开始,您可以 运行 进入 Task with name 'testDebug' not found in project ':module'.

由于在构建环境的早期阶段无法使用 Robolectric & Java 正确测试库模块,因此创建了此解决方法:

afterEvaluate { project ->
    android.libraryVariants.each { variant ->
        println variant.name
        println tasks
        tasks.getByName("test${variant.name.capitalize()}") {
            dependsOn "assemble${variant.name.capitalize()}"
        }
    }
}

在 1.3.0 版本中,这已被破坏。

他们已将名称从 testDebug 更改为 testDebugUnitTest 因此上面的代码需要更改为:

afterEvaluate { project ->
    android.libraryVariants.each { variant ->
        println variant.name
        println tasks
        tasks.getByName("test${variant.name.capitalize()}UnitTest") {
            dependsOn "assemble${variant.name.capitalize()}"
        }
    }
}