我有以下项目结构:
Main App
--app
--featureModule1
--featureModule2
--TestKit(Library module)
其中 Testkit 具有所有依赖项,包括 app 和 featureModules。Testkit 包括与应用程序和功能模块中的功能相关的所有单元测试。
当我从 Android Studio 运行单元测试时(右键单击-> 在 Testkit 中运行测试),它们运行良好。但是,每当我尝试从 gradle command: 运行它时./gradlew TestKit:testInternalDebugUnitTest
,它都会抛出NoClassDefFoundError
其他模块的所有依赖项(对于应用程序和功能模块)。
此外,我已经在测试模块中添加了所有模块的实现和 testImplementation 依赖项。
请建议:
我是否需要添加在其他模块中生成的类的路径,如果是,请指导在哪里。
运行覆盖率测试也失败了
java.lang.VerifyError:错误的返回类型
请建议我在这里做错了什么。
注意: 我创建了一个测试套件,因为 Roboelectric 在功能模块中存在多个未解决的问题,例如:https ://github.com/robolectric/robolectric/issues/5428
版本 AS:4.0.1 gradle:4.0.1 gradle-wrapper:6.5 Robolectric:4.3.1