我试图通过注入适应URLSession
和URLSessionDataTask
协议的对象来测试我自己的类。我正在扩展NSURLSession
并NSURLSessionDataTask
采用这些协议,以便我可以正常使用现有对象,但在单元测试中使用测试对象。
我有以下代码,错误注释:
typealias SessionHandler = (NSData?, NSURLResponse?, NSError?) -> Void
protocol URLSession {
func dataTaskWithURL(url: NSURL, completionHandler: SessionHandler) -> URLSessionDataTask
}
protocol URLSessionDataTask {
}
// Type 'NSURLSession' does not conform to protocol 'URLSession'
extension NSURLSession : URLSession {}
extension NSURLSessionDataTask : URLSessionDataTask {}
我理解这个错误,我的协议与 . 所暗示的方法不完全匹配NSURLSession
。我该如何解决?