【发布时间】:2017-10-07 20:52:20
【问题描述】:
所以我一直在尝试阅读有关 UI 和集成测试(专门用于 iOS 开发)的信息。我一直认为这些测试是不同的,但我看到的很多集成测试示例似乎就是我所说的 UI 测试。
所以现在我很好奇,UI 和集成测试有什么区别?可以举个例子吗?
【问题讨论】:
标签: ios xcode unit-testing integration-testing ui-testing
所以我一直在尝试阅读有关 UI 和集成测试(专门用于 iOS 开发)的信息。我一直认为这些测试是不同的,但我看到的很多集成测试示例似乎就是我所说的 UI 测试。
所以现在我很好奇,UI 和集成测试有什么区别?可以举个例子吗?
【问题讨论】:
标签: ios xcode unit-testing integration-testing ui-testing
UI 和集成测试是完全不同的概念。 UI 测试专门测试 UI,例如“当我按下登录按钮时,验证凭据并且页面转换到主页”。而集成测试是评估不同组件如何协同工作。
测试通常被认为是单元测试,但实际上您编写的大多数测试很可能是集成测试。虽然单元测试应该测试代码的“单元”,例如函数,但集成测试将测试“集成”在一起的一堆函数的使用。
当您无法使用某些输入/输出验证来测试应用的某些方面或需要测试应用的流程时,就需要进行 UI 测试。您将编写一个用于凭据验证的单元测试:用户名/密码是否符合要求。验证在登录用户时检索完整的用户对象的集成测试(假设您模拟数据库/网络层),以及测试登录表单执行所有这些操作的 UI 测试。
在上面的示例中,您可以看到单元测试可能不是必需的,因为集成测试也会涉及各个功能。您应该单元特定的行为,例如尝试已知无效参数的用户实际上会失败,即 SQL 注入。
【讨论】: