我的Android应用程序有以下问题:
我有一个片段(托管在MainActivity中),其中包含一个ImageButton。一旦点击,它就会通过startActivityForResult打开画廊。当用户从图片库中选择图像时,图库本身将被关闭,所选图像将显示在DialogActivity中。
在运行时,一切都是完美的。
如何使用Espresso测试这种情况?
先谢谢大家。
请注意:在堆栈溢出中搜索,我没有发现与我正在寻找的内容相匹配的任何东西。
发布于 2017-06-22 09:56:23
实际上,如果将测试用例分成两部分,这很可能在Espresso中进行测试:
对于第一部分,您可以使用浓咖啡。基本上,您将断言相应的意图已经发送。
假设你像这样启动了画廊应用程序:
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/*"))))
对于第二部分,因为是MainActivity在处理onActivityResult
,所以您可以创建一个@VisibleForTesting
公共方法来调用您的onActivityResult
,并将包含您的图像的意图传递给它。最后,通过您的@Rule MainActivityTestRule
调用said公共方法。
https://stackoverflow.com/questions/44271862
复制相似问题