我正在尝试使用Android Support Test Library (以前的android-测试工具包)并为我的一个项目创建测试。它在单个项目中包含一些“功能”代码和UI代码。
我的意图是使用JUnit4,而不是与JUnit3混合,所以我使用AndroidJUnitRunner。有许多测试类是为“functional”代码创建的,它们遵循JUnit4并运行良好。
最近,我开始为UI组件实现测试。参考文件收据数量的测试已经实现。这些活动测试遵循JUnit4风格,并基于上面的文档扩展ActivityInstrumentationTestCase2。
我现在面临的问题是:不可能同时执行所有的测试。如果我试图从IntelliJ Idea运行包/所有测试(活动和'functional‘在同一个项目中显示)--只执行纯JUnit4测试。我怀疑问题在ActivityInstrumentationTestCase2中,它扩展了TestCase,而不是纯JUnit4测试类。
是否有可能在使用Android (Android)的活动测试中摆脱ActivityInstrumentationTestCase2,并且所有测试都在运行?或者我对问题根源(关于TestCase)的假设是错误的?
发布于 2015-02-02 23:29:26
最后找到了唯一可行的解决方案:将InstrumentationTestCase、ActivityTestCase和ActivityInstrumentationTestCase2从AOSP源代码复制到我的项目中。之后,从InstrumentationTestCase of TestCase中删除继承。在这个项目(AndroidJunit4)中也是这样做的。实际上,不需要TestCase,这些更改和文件收据足以使活动测试成为JUnit4,并避免混合问题。
发布于 2015-06-02 01:06:22
不推荐InstrumentationTestCase、ActivityTestCase和ActivityInstrumentationTestCase2,您应该使用ActivityTestRule。InstrumentationRegistry对于获取应用程序上下文和检测实例也很有用。
https://stackoverflow.com/questions/28227392
复制相似问题