Android单元测试支持在android库模块中不起作用

Gau*_*sth 5 junit android unit-testing android-gradle-plugin

我正在使用新的单元测试支持http://tools.android.com/tech-docs/unit-testing-support在android项目上编写junit测试 .

单元测试完全在'com.android.application'模块上运行,但它们总是在'com.android.library'模块上失败.这在http://tools.android.com/tech-docs/unit-testing-support中没有记录.所以我想知道我是不是罪魁祸首.

当我在库模块上编写这些测试时,测试无法在模块上找到类并始终给出以下错误:

package does not exist

error: cannot find symbol
Run Code Online (Sandbox Code Playgroud)

android单元测试支持目前正处于实验阶段,但有解决方案.

UPDATE

我已将此问题添加到Android问题跟踪器https://code.google.com/p/android/issues/detail?id=161038

cke*_*tti 7

看起来编译单元测试的任务不依赖于编译库代码的任务.以下为我修好了:

afterEvaluate {
    tasks['assembleDebugUnitTest'].dependsOn(tasks['assembleDebug'])
}
Run Code Online (Sandbox Code Playgroud)

我使用运行测试

./gradlew testDebug
Run Code Online (Sandbox Code Playgroud)

如果您不想修改自己build.gradle,请assembleDebug在命令行上手动指定任务也应该这样做:

./gradlew assembleDebug testDebug
Run Code Online (Sandbox Code Playgroud)