如何在Xcode中编写集成测试?

3
有三个基本测试层次:
  1. 单元测试——确保每个函数/代码单元按预期工作
  2. 功能测试——确保代码单元相互交互按预期工作
  3. 集成测试——确保我们的应用与其他应用/ API /服务按预期进行集成
我可以使用 Xcode 的 iOS Unit Testing BundleiOS UI Testing Bundle 来处理第 1 和第 2 种情况。但是,我不知道如何从第 3 点编写测试。
我想编写测试来检查我的应用是否正确地与后端、BLE 设备等集成。
请注意,我已经编写了单元测试,并在 CI 中运行。集成测试不应该在 CI 中运行,因为它取决于外部环境。我想手动运行集成测试。
如何在 Xcode 中处理它?使用第二个 Unit Testing Target 吗?有什么建议吗?你在你的系统中如何处理它?
1个回答

2
根据您想要的集成测试类型,您可能需要使用专用的单元测试或UI测试目标。
从您的问题中,我猜测您想要的风格倾向于与其他真实系统进行黑盒测试。如果是这种情况,那么一个专用的UI测试目标就可以胜任工作了。
使用UI测试,您可以做一些诸如在设备上打开其他应用程序并测试您的应用程序与它们的交互之类的事情。例如,this post展示了如何编写一个使用消息应用程序测试通用链接的UI测试。

animation showing an integration level UI test from the linked post

如果您需要控制应用程序中的某些部分(例如存根网络请求),我会建议使用专门的单元测试目标。但这并不符合您所给出的集成测试的定义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接