安卓:单元测试

标签 android

需要一些建议。我有一个应用程序。我需要写一些单元测试。但是我真的不知道要测试什么。我已经测试了设置和所有首选项,这很简单。人们通常还会测试什么?假设我有 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/

相关文章:

java - 拦截应用程序发出的套接字调用并将其映射到自定义套接字

android - 每行中的 TextView 和 Button 以及 onListItemClick()

android - 在抽屉导航中突出显示所选项目

安卓。保存对话框的实例状态?

安卓磨损 :CardScrollView cannot scroll?

java - 将 P12 转换为 JKS 证书 Adode AIR 到原生 Android 问题

android - Flutter Camera Plugin 导致条形码阅读器崩溃

android - 我可以使用 backpress 完成 2 个 Activity 吗

android - 如何在 Android 模拟器中运行(不安装).apk 文件

android - 同时使用 setOnItemClickListener 和 setOnItemLongClickListener 两个监听器同时触发或同时工作。为什么