gpt4 book ai didi

swift - 覆盖 isReachable 不适用于模拟

转载 作者:行者123 更新时间:2023-11-30 10:47:59 28 4
gpt4 key购买 nike

我想测试我的代码和行为。在这种情况下,我重写 Alamofire 的 NetworkReachabilityManager 和 open var isReachable。在我的测试用例中,将调用 NetworkReachabilityManager 的 isReachable 方法,但不会调用 MockNetworkReachabilityManager 的 isReachable 方法。

func testIsReachable() {
let mockNetworkReachabilityManager = MockNetworkReachabilityManager()
XCTAssertFalse(mockNetworkReachabilityManager!.isReachable)
}

class MockNetworkReachabilityManager: NetworkReachabilityManager {
override var isReachable: Bool {
return false
}
}

最佳答案

最好的解决方案是,如果您使用协议(protocol)并重写 isReachable 方法。然后我可以写一个`MockNetworkReachabilityManager``

protocol CustomNetworkReachability {
var isReachable: Bool { get }
}

extension NetworkReachabilityManager: CustomNetworkReachability {}

class MockNetworkReachabilityManager: CustomNetworkReachability {
var isReachable: Bool {
return false
}
}

关于swift - 覆盖 isReachable 不适用于模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55361224/

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