2016-12-17 44 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)。