我的Android应用中存在以下问题:
我有一个片段(在MainActivity中托管),其中包含一个ImageButton。点击后,它会通过startActivityForResult打开图库。当用户从图库中选择图像时,图库本身将关闭,所选图像将显示在DialogActivity中。
一切都在Runtime上完美运作。
如何使用Espresso测试这种情况?
提前谢谢大家。
请注意:在堆栈溢出中搜索我发现什么都不符合我的要求。
答案 0 :(得分:0)
实际上,如果您将测试用例分成两部分,可以在Espresso中进行测试:
对于第一部分,您可以使用espresso-intents。基本上,你会声称发送了相应的意图。
假设你像这样启动Gallery应用程序:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
您可以使用以下方式对其进行测试:
intended(allOf(hasAction(equalTo(Intent.ACTION_GET_CONTENT)),
hasType(is("image/*"))))
对于第二部分,由于是处理onActivityResult
的MainActivity,您可以创建一个调用@VisibleForTesting
的{{1}}公共方法,然后传递给它包含图像的意图。最后,通过onActivityResult
调用公开方法。