2016-12-17 42 views
0

真正所以我有一个自定义的测试枚举像这样:XCTest总是定制斯威夫特错误枚举

enum RequestError: Error { 
    case error1 
    case error2 
} 

出于某种原因,XCAssertEqual(.error1, .error2)XCAssertEqual(.error1, .error1)都始终返回true。我已经实现了Equatable协议,但这似乎没有帮助。有谁知道这是为什么?

只是为了清楚起见,这里是我的Equatable一致性:

extension RequestError: Equatable { 
    public static func ==(lhs: RequestError, rhs: RequestError) -> Bool { 
     return false 
    } 
} 

(我打算总是返回false)

+2

请注意,'Equatable'协议*要求* == =等价关系。特别是'x == x'必须始终保持。 –

回答

0

原来,这也可能只是Xcode的快要疯了。它达到了测试通过没有意义的地步(包括直线上升的XCFail())。我关闭了Xcode并再次打开,现在似乎都可以工作。只是供参考,我在Xcode 8.2(8C38)。