swift - 如何使用 XCTest 对离线场景进行单元测试

标签 swift unit-testing nsurlconnection offline xctest

我正在尝试执行一组单元测试,这需要不同的网络连接状态。使用 XCTest(在 Swift 中)时如何模拟离线 iOS 设备?

谢谢

最佳答案

解决这个问题的方法不止一种。

模拟/ stub 就是其中之一,您可以使用 OCMock 或 OCMockito 等模拟框架,并强制方法返回每个测试所需的内容。

另一种“经典”方法(我更喜欢)是实现一个 stub /虚拟类,它与网络类共享相同的 API,并再次让它返回每个测试所需的内容。

差异主要是 philosophical nature

最重要的是,您需要一种方法来强制 API 返回您想要测试的内容。

关于swift - 如何使用 XCTest 对离线场景进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862924/

相关文章:

ios - 无法通过 API 向服务器发送 https POST 请求,获取 "HTTPS Required"

ios - 无法使用纯自动布局约束创建 UIScrollerView

ios - @Published 属性包装器不适用于 ObservableObject 的子类

unit-testing - OCMock 是如何工作的?

c# - 是否可以在 C# 中使用 Moq 从另一个模拟返回一个模拟?

ios - 重新加载 UIWebView 使其空白

ios - 如何在 Storyboard中使用 NSURLConnection 下载文件

ios - 同时运行 Collection View 和 TableView 时应用程序崩溃。崩溃 :fatal error: unexpectedly found nil while unwrapping an Optional value

ios - 条件绑定(bind)的初始化程序必须具有 Optional 类型,而不是 'AnyObject - Approach

node.js - Cypress 选择 HTML <select> 的特定子级