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
看起来编译单元测试的任务不依赖于编译库代码的任务.以下为我修好了:
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)