我正在尝试在我的仪器测试中使用测试特定活动,但不断得到
Unable to resolve activity for: Intent {}
我在仪器测试模块的 android 清单中声明了该活动,但测试运行程序似乎无法找到它。
我想做的事是不可能的吗?明确地说,我想在我的检测模块中声明这些测试活动,而不是在应用程序中。这些活动的唯一目的是促进模拟没有意义的复杂场景的测试。
是的,这行不通。仪器测试系统假设 T 在被测应用程序中。
您可以使用 ActivityUnitTestCase 测试未出现在任何清单中的 Activity - 这可能适合您的测试,也可能不适合您的测试。
您还应该考虑 Robolectric,它也不需要您在清单中声明活动。
如果您确实需要使用 ActivityInstrumentationTestCase2,我处理这种情况的方式是在调试版本的清单中声明额外的测试活动。这并不理想,但至少这样这些条目不会进入发布版本。
(有趣的是,Activity 的实际 Java 代码可以在检测模块中,而不是在测试中的应用程序中)
您能否添加一些仪器或应用程序的代码,或者更具体地说明您要做什么?