我们正在尝试介绍 new Android Unit Testing Support到我们的项目。
对于library项目,gradlew运行时找不到src/main/java类。
从 Android Studio 运行测试按预期工作。 在应用程序项目中使用 gradle 运行测试按预期工作。 在库项目中使用 gradle 运行测试失败。
我在 github 上创建了一个示例项目,在一个小项目中重现了这个问题。
使用 gradle 插件定义 apply plugin: 'com.android.application'
它工作正常,使用插件定义 apply plugin: 'com.android.library'
错误发生。
错误是:
home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:11: error: cannot find symbol
assertEquals(2, new SomeClass().sum(1, 1));
^
symbol: class SomeClass
location: class SomeClassTest
/home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:16: error: cannot find symbol
new SomeClass().referenceDrawableFromR();
^
symbol: class SomeClass
location: class SomeClassTest
2 errors
:common:compileDebugUnitTestJava FAILED
这应该有效吗?我错过了什么吗?
最佳答案
我找到了一个解决方法:手动触发编译。成功的 Gradle 命令:
./gradlew clean assembleDebug assembleRelease 测试
仍在寻找更好的解决方案。
关于Android 单元测试不适用于 Android 库项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782518/