【发布时间】:2015-05-18 17:07:51
【问题描述】:
我有一个需要使用身份验证的 Android 应用。随着项目的发展,我想在我的应用中添加单元测试。
为此,我使用Espresso 2.1
事情是这样的:
- 我的
LoginActivity被startActivityForResult调用 - 显示形式
- 一个。如果凭据错误,它将保留在
LoginActivity - 乙。如果凭据没问题,则使用
finish和RESULT_OK。
所以在我的 espresso 测试类中,我有一些单元测试。 not ok 情况一切正常,问题出在 ok 情况。
我需要检查结果是否为RESULT_OK,但随着活动结束,espresso 失败并显示
android.support.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?
这是我的问题:
- 有没有办法测试
Activity的setResult? - 是否有一种解决方法(我不想使用它们中的任何一种,但至少...)能够对其进行测试?
我已经阅读了有关 Espresso-Intents 的内容,但我无法找到一个示例来说明如何启动我自己的包的活动并检查结果是否为 RESULT_OK。
【问题讨论】:
-
stackoverflow.com/a/29923942/1368705 是的,可以设置数据(任何你想要的结果),就像我在那个答案中展示的那样,我明天会仔细看看。
-
对于那些有同样问题的人,我刚刚找到了解决我类似问题的方法。 stackoverflow.com/a/35214915/513413
标签: android unit-testing android-espresso start-activity