需要一些建议。我有一个应用程序。我需要写一些单元测试。但是我真的不知道要测试什么。我已经测试了设置和所有首选项,这很简单。人们通常还会测试什么?假设我有 3 个 Activity 。主要的是列表 Activity ,当您单击列表项时,它会将您转发到第二个列表 Activity ...并在列表项上单击其转发到第三个 Activity 。我想也许我应该测试 Activity 之间的切换?如何模拟单击 UnitTest 中的列表项以及如何检查该 Activity 是否打开?谢谢!
最佳答案
Android 为您提供了测试类,以便您能够尽可能详尽地进行单元测试。 您可以对 Java 组件、Android 架构相关组件以及整个工作流程进行单元测试。
在您的情况下,要测试 Activity 之间的序列,您可以使用 InstrumentationTestCase 类并扩展它,然后在您的测试中,您应该使用以下方法:
// Prepare a monitor for your activity
Instrumentation instrumentation = getInstrumentation()
Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(YourClass.class.getName(), null, false);
// Start your activity manually
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(instrumentation.getTargetContext(), YourClass.class.getName());
instrumentation.startActivitySync(intent);
// Get the started Activity
Activity currentActivity = getInstrumentation().waitForMonitor(monitor);
然后您可以删除监视器并为您希望在工作流序列中捕获的下一个 Activity 添加另一个监视器。使用此序列,您可以以编程方式交互和验证经过多个 Activity 的操作序列。
关于安卓:单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633141/