我有两个应用程序X和Y.应用程序X有一个活动“A”需要在应用程序Y的进程上运行。我正在尝试创建一个类似于下面的仪器测试:
公共类ATest扩展了SingleLaunchActivityTestCase {...}
问题在于,当我将测试应用程序的AndroidManifest.xml指向仪器进程X时,我收到以下错误:
java.lang.RuntimeException:进程test.application.a中的Intent解析为不同的进程test.application.b
我预计,如果活动A在流程Y上运行,则检测框架必须在同一目标流程Y上运行。
但是如果我更改为仪器进程Y,则会发生以下错误: java.lang.RuntimeException:套件构造期间的异常 在android.test.suitebuilder.TestSuiteBuilder $ FailedToCreateTests.testSuiteConstructionFailed(TestSuiteBuilder.java:239) ... 引起:java.lang.NoClassDefFoundError:test.application.a.A
我想这是因为在应用程序Y上没有类test.application.a.A!
这是仪器框架的限制吗?
提前致谢!
答案 0 :(得分:0)
据我所知,Instrumentation测试似乎在测试应用程序的同一进程上运行。在这里看一眼:http://developer.android.com/guide/topics/testing/testing_android.html#Overview。
你不能以某种方式创建一个模拟“Y”应用程序吗?
最好的问候。