2016-12-17 2 views
0

ためXCTest常に真だから私はそうのようなカスタムテスト列挙型があります。XCAssertEqual(.error1, .error2)XCAssertEqual(.error1, .error1)両方が常にtrueを返し、何らかの理由でカスタムスウィフトエラー列挙

enum RequestError: Error { 
    case error1 
    case error2 
} 

を。私は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)です。