【发布时间】:2017-02-02 14:42:08
【问题描述】:
我想知道是否有一个选项来测试使用 Android(模拟)并调用在某个端点上运行的后端的客户端库?
用例可能是:
有一个名为“A”的库,它需要 android 的上下文(从中提取数据)和 Google 服务(可以是模拟的)。然后调用 A.sendData(context) 收集广告id、电话信息等数据...
所以测试生命周期可能是:
A.sendData(context) → waits for server response → assert result.
我到处读到 Robolectric 不能用作集成框架。我创建了一个带有一些 UI 的 Instrumented 测试,它完成了这个技巧,但运行它需要很长时间并且在远程 CI 上无法正常工作(超时,有时它通过有时它没有)。
我需要模拟 Android 设备的“只是”一部分(不需要 UI)并测试后端是否返回有效数据,因此可能不需要模拟器。或者如果需要模拟器,我想创建一个使用模拟器的测试,但不需要编写 UI 测试。
有这样的东西吗?
【问题讨论】:
标签: android unit-testing integration-testing robolectric