Переопределение isReachable не работает для макета - PullRequest
0 голосов
/ 26 марта 2019

Я хотел бы проверить свой код и поведение. В этом случае я переопределяю NetworkReachabilityManager из Alamofire, и open var isReachable. В моем тестовом случае вызывался бы метод isReachable NetworkReachabilityManager, но не MockNetworkReachabilityManager.

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

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

1 Ответ

0 голосов
/ 27 марта 2019

Лучшее решение будет, если вы используете протокол и переопределите метод isReachable.Тогда я могу написать `MockNetworkReachabilityManager``

protocol CustomNetworkReachability {
  var isReachable: Bool { get }
}

extension NetworkReachabilityManager: CustomNetworkReachability {}

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