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

Nik*_*las 4 junit android gradle robolectric

截至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()}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Nik*_*las 6

他们已将名称更改为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()}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)