我有一个基于网络服务的应用程序,即每个活动都调用一个特定的网络服务并将数据填充到视图中。我还没有做任何测试,但我正在切换到Volley
并认为我也可以添加一些测试。
我想知道此类应用程序应该采用什么测试策略。我正在玩gradle-android-test-plugin
,虽然Robolectric
还不能很好地玩Volley
,但应该很快(我希望)。
无论如何,所以我用于我的应用程序的结构是这样的:
ObjectJacksonRequest
从 web 服务获取数据并将其解析为 POJO 的类RequestQueue
标准截击请求队列BaseActivity
我的应用程序的所有活动的父活动,其中包含RequestQueue
对象和其他常见的东西- 我用来将 UI 代码与网络代码分开的各种抽象活动。例如,AbstractAppleActivity 被任何需要苹果的活动扩展。抽象活动做一些事情,比如在返回时检查 Apple 是否仍在内存中,加载新的,为列表视图设置适配器等。
这是我目前的问题。我对答案应该有一些直觉,但我想听听社区的意见。我相信人们可能还有其他问题,我们可以将这些问题添加到此列表中:
ObjectJacksonRequest
为各种 Web 服务测试对象的好方法是什么?我应该为每个返回和对象的 Web 服务编写单独的测试吗?- 我应该使用实际的 Web 服务测试网络请求还是模拟响应?
- 我应该测试
BaseActivity
抽象活动还是扩展它的功能的活动? - 在网络请求完成之前测试没有插入任何值的活动的最佳方法是什么?例如,加载苹果列表的活动。