【发布时间】:2015-05-06 17:19:11
【问题描述】:
有没有什么好的方法可以在 Android Espresso 测试中测试结果代码和数据?我正在使用 Espresso 2.0。
假设我有一个名为BarActivity.class 的Activity,它在执行某些操作时会使用适当的有效负载调用setResult(int resultCode, Intent data)。
我想编写一个测试用例来验证resultCode 和data。但是,由于setResult() 是final 方法,我无法覆盖它。
我想到的一些选项是:
- 定义一个像
setActivityResult()这样的新方法,然后使用它就可以被拦截,等等...... - 编写一个仅用于测试的TestActivity,它将在
BarActivity上调用startActivityForResult(),并在TestActivity.onActivityResult()中检查结果
尝试思考两种弊端中哪一个较小,或者是否有任何其他关于如何测试的建议。有什么建议?谢谢!
【问题讨论】:
-
这是选项 2 的部分解决方案:product.reverb.com/2016/03/12/testing-android-activity-results 但是,不完整,至少我没有设法使其工作。
标签: android android-testing android-espresso