gpt4 book ai didi

ios - 在 XCTestCase 期间切换互联网可用性

转载 作者:行者123 更新时间:2023-11-30 12:28:41 25 4
gpt4 key购买 nike

在 XCTestCase 期间,我想以某种方式说“禁用互联网”,它就会被有效地禁用。然后我想以某种方式说“启用互联网”,它就会回来。关键是要看到我的应用程序在网络请求失败然后成功时表现正常。做这个的最好方式是什么?

打开和关闭飞行模式就足够了,但我不知道有什么方法可以做到这一点。我考虑过创建一个专用模拟器,该模拟器预先配置为禁用互联网,例如打开飞行模式,但这会限制我在一个预先配置的模拟器而不是模拟器(或设备)上运行此测试的能力)我的选择。

最佳答案

由于您直接使用 NSURLSession,因此侵入性最小的解决方案是劫持 HTTP 和 HTTPS 协议(protocol),以便您可以控制 URL 请求的成功和内容。

有一些库可以实现此目的,但许多库可能更注重控制响应内容,而不是通过不响应或延迟响应来完全屏蔽请求。

通常,如果您将网络推向您控制的协议(protocol)的另一端,您最终会得到更好的分解和更近、更简单的接缝 - 并且可以在测试时轻松提供不同的实现。

关于ios - 在 XCTestCase 期间切换互联网可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43857585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com