【发布时间】:2015-08-21 01:14:30
【问题描述】:
我们有一个非常大的 Android 应用程序,没有进行任何测试。我们正在遭受典型的质量/手动回归测试周期过长的问题。
作为一名刚接触Android的服务器端开发者,我想介绍一下开发者测试。
我可以了解如何使用 JUnit 对普通 Java 代码进行单元测试。
然而,事实证明,Activity/Fragments/Adapters 更加困难。
我观看了 GTAC 的 Espresso 视频,印象深刻并决定使用它。
我苦苦挣扎的地方是如何为我的测试用例提供模拟数据,然后确认显示。
这甚至可能吗?似乎 Espresso 用于黑盒测试,这极大地限制了它对开发人员(其目标受众)的使用,因为(通常)黑盒测试是由 QA 完成的。
【问题讨论】:
-
如果我没看错,espresso 是 UI 测试框架,我的问题是为什么在测试 UI 时需要模拟值?
-
UI 显示的内容取决于它从某个来源(例如数据库或 rest url)接收到的数据。我想提供数据的变化并确保它正确显示。
-
不确定这是否真的与 Espresso 相关。我们也在一个相当大的项目中使用 Espresso,具有多个后端和以各种方式模拟数据。例如。通过为已知查询提供预设响应的替代服务器,或者简单地通过交换客户端查询接口实现来验证预期查询并返回测试定义的响应。这些方法都不是使用任何 Espresso 功能实现的。