运行单元测试用例时无法引用动态功能模块中的应用程序模块类

时间:2019-05-07 16:12:03

标签: android android-gradle android-instant-apps dynamic-feature

我们的项目具有动态功能模块,该功能模块依赖于应用程序模块。动态功能模块中的类依赖于应用程序模块。

我们在动态模块中也有单元测试用例,用于测试动态模块的各个类。当通过android studio运行时,单元测试运行良好。使用gradlew运行单元测试时出错。

以下是错误:

./ gradlew:dynamic_feature1:testDebugUnitTest 出现以下错误:

15:40:13.225 [DEBUG] [TestEventLogger]
15:40:13.225 [DEBUG] [TestEventLogger] com.example.dynamic_feature1.DynamicPresenterTest > testXyz FAILED
15:40:13.225 [DEBUG] [TestEventLogger]     java.lang.NoClassDefFoundError: com/example/dynamicfeature/AppBase
15:40:13.225 [DEBUG] [TestEventLogger]         at java.lang.ClassLoader.defineClass1(Native Method)
15:40:13.225 [DEBUG] [TestEventLogger]         at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
15:40:13.225 [DEBUG] [TestEventLogger]         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)```

1 个答案:

答案 0 :(得分:1)

要解决java.lang.NoClassDefFoundError: com/example/dynamicfeature/AppBase问题,请尝试以下命令:

./gradlew test

请参阅Android jUnit Test java.lang.NoClassDefFoundError: android/database/sqlite/SQLiteOpenHelper