需要一些建议。我有一个应用程序。我需要写一些UnitTest。但我真的不知道测试什么。我已经测试了设置和所有首选项,这很容易。人们经常测试什么?让我们说我有3个活动。主要的是列表活动,当您单击列表项时,它会转发您在第二个列表活动上...并在列表项上单击其向前转到第三个活动。我想也许我应该测试活动之间的转换?如何模拟UnitTest中的单击列表项以及如何检查该活动是否已打开?谢谢!
答案 0 :(得分:1)
Android为您提供测试课程,使您能够在您的单元测试中尽可能详尽。 您可以对您的java组件,依赖于android-architecture的组件以及整个工作流进行单元测试。
在您的情况下,要在活动之间测试序列,您可以使用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);
然后,您可以删除监视器,并为您希望在工作流程序列中捕获的下一个活动添加另一个监视器。通过此序列,您可以以编程方式交互并验证经历多个活动的操作序列。
答案 1 :(得分:1)
对于Android应用程序,有一个名为Robotium的测试工具。它是一个UI测试工具,可模拟与Android应用程序相关的触摸,点击,打字和其他用户操作。请尝试使用Robotium的此示例,并为您的应用程序进行开发,
我认为这对您的搜索可能有点用处。