我正在寻找一些输入,如果有人提供有关我的方案的任何具体或相关信息:
在我们的Android项目中,我们有一个公共库文件夹和两个独立(不同)的应用程序文件夹。我要求为这两个应用程序编写Espresso测试。我在应用程序级别(App-> Src-> AndroidTest-> Java-PKG-LoginFlowTest.java)为App Module提供了书面Espresso测试,该工作正常。但是现在,当我在库模块中移动我的测试文件夹时(在应用程序中具有相同的级别/深度),它不起作用。抛出错误。
错误: java.lang.RuntimeException:无法启动活动ComponentInfo {xx.xxx.xxxxxx.lib.test / xx.xxx.xxxxxxxx.lib.login.views.LoginActivity}:java.lang.NullPointerException:尝试调用虚方法&# 39; xx.xxx.xxxxxxxxx.lib.dependency_injection.components.AppComponent xx.xxx.connected.lib.dependency_injection.DaggerInjector.getAppComponent()'在空对象引用上
这里我的目的是为两个应用程序编写一个测试通用(2个不同的应用程序使用相同的源集生成,并为两个应用程序提供一些不同的功能)。
由于
答案 0 :(得分:0)
Android测试的默认包是androidTest。如果你使用另一个包,除非你在gradle上进行一些配置更改,否则无法运行。
如果根项目中有两个'app',那么他们应该在'androidTest'包下有自己的Espresso Tests。
拥有两个“应用程序”是没有意义的,并期望为它们编写一个espresso测试。我的理解是那些“应用程序”并不完全相同,因为它们产生了不同的答案。如果开发人员想为同一个项目创建多个apks,那么他们可以为gradle上的给定项目配置不同的风格(调试,发布等)。