是否可以使用支持测试库摆脱 ActivityInstrumentationTestCase2?
Is it possible to get rid of ActivityInstrumentationTestCase2 using Support Test Library?
我正在尝试使用 Android Support Test Library
(以前是 android-test-kit)并为我的一个项目创建测试。它包含一些 'functional' 代码以及单个项目中的 UI 代码。
我打算使用 JUnit4 而不是与 JUnit3 混用,所以我使用 AndroidJUnitRunner。
为遵循 JUnit4 且工作正常的 'functional' 代码创建了测试 classes 的数量。
最近我开始为 UI 组件实施测试。参考 documentation receipt 数量的测试已经实施。这些 activity 测试遵循 JUnit4 风格并基于上述文档扩展 ActivityInstrumentationTestCase2
。
我现在面临的问题:一次执行所有测试是不可能的。如果我尝试从 IntelliJ Idea 运行 打包/所有测试(Activity 和 'functional' 出现在同一个项目中)——只执行纯 JUnit4 测试。我怀疑问题出在 ActivityInstrumentationTestCase2
中,它扩展了 TestCase
而不是纯 JUnit4 测试 class.
是否有可能以某种方式摆脱 Activity 测试中的 ActivityInstrumentationTestCase2 使用 Android 支持测试库 (android-test-kit) 并进行所有测试运行宁?或者我对问题根本原因(大约 TestCase
)的假设是错误的?
终于找到了唯一可能的解决方案:将 InstrumentationTestCase
、ActivityTestCase
和 ActivityInstrumentationTestCase2
从 AOSP 源代码复制到我的项目中。之后,移除 InstrumentationTestCase
of TestCase
的继承。与此项目中的方法相同 (AndroidJunit4)。
实际上不需要 TestCase
,这些更改和 documentation receipt 足以让 activity 测试成为 JUnit4 并避免混合问题。
InstrumentationTestCase
、ActivityTestCase
和 ActivityInstrumentationTestCase2
已弃用,您应该使用 ActivityTestRule instead. InstrumentationRegistry 对于获取应用程序上下文和检测实例也很有用。
我正在尝试使用 Android Support Test Library
(以前是 android-test-kit)并为我的一个项目创建测试。它包含一些 'functional' 代码以及单个项目中的 UI 代码。
我打算使用 JUnit4 而不是与 JUnit3 混用,所以我使用 AndroidJUnitRunner。 为遵循 JUnit4 且工作正常的 'functional' 代码创建了测试 classes 的数量。
最近我开始为 UI 组件实施测试。参考 documentation receipt 数量的测试已经实施。这些 activity 测试遵循 JUnit4 风格并基于上述文档扩展 ActivityInstrumentationTestCase2
。
我现在面临的问题:一次执行所有测试是不可能的。如果我尝试从 IntelliJ Idea 运行 打包/所有测试(Activity 和 'functional' 出现在同一个项目中)——只执行纯 JUnit4 测试。我怀疑问题出在 ActivityInstrumentationTestCase2
中,它扩展了 TestCase
而不是纯 JUnit4 测试 class.
是否有可能以某种方式摆脱 Activity 测试中的 ActivityInstrumentationTestCase2 使用 Android 支持测试库 (android-test-kit) 并进行所有测试运行宁?或者我对问题根本原因(大约 TestCase
)的假设是错误的?
终于找到了唯一可能的解决方案:将 InstrumentationTestCase
、ActivityTestCase
和 ActivityInstrumentationTestCase2
从 AOSP 源代码复制到我的项目中。之后,移除 InstrumentationTestCase
of TestCase
的继承。与此项目中的方法相同 (AndroidJunit4)。
实际上不需要 TestCase
,这些更改和 documentation receipt 足以让 activity 测试成为 JUnit4 并避免混合问题。
InstrumentationTestCase
、ActivityTestCase
和 ActivityInstrumentationTestCase2
已弃用,您应该使用 ActivityTestRule instead. InstrumentationRegistry 对于获取应用程序上下文和检测实例也很有用。