我正在为一个活动编写测试(我的测试类扩展了ActivityInstrumentationTestCase2),我已经编写了一些基本的测试并且工作正常.
但是我当它完成通过的setResult(resultCode为,意图我)我想用什么仪器得到我的活动来完成的事,然后检查它所在的setResult调用中传递返回额外的数据到调用活动活动.
是否有一些框架提供了这样做的方式?我一直没能找到任何东西,一种方法是子类的活动类和重写的setResult把它记住和揭露什么传递给的setResult(原来的setResult是最后的,所以你不能做到这一点无论) ,似乎应该有更好的方法.
在我的应用程序中,当用户单击"注册"按钮时,将启动RegisterActivity.一旦用户填写表单,详细信息将发布到Web服务,如果注册成功,则RegisterActivity会使用RESULT_OK.这在以下代码示例中进行了总结:
public void submitRegistration() {
showProgressDialog(R.string.registration, R.string.please_wait);
getWebApi().register(buildRegistrationFromUI(), new Callback<ApiResponse>() {
@Override
public void success(ApiResponse apiResponse, Response response) {
hideProgressDialog();
setResult(RESULT_OK);
finish();
}
@Override
public void failure(RetrofitError error) {
hideProgressDialog();
showErrorDialog(ApiError.parse(error));
}
});
}
Run Code Online (Sandbox Code Playgroud)
使用Espresso,如何检查活动是否已完成setResult(RESULT_OK).
请注意:我不希望创建一个模拟的意图,我想查的意图结果状态.