Xcode 6までのXCTAssertEqualは<T: Equatable>(expression1: T, expression2: T)という引数になっていました。一見するとジェネリックで良い感じに見えるんですが、実際には片方がOptionalの場合に型が一致しなくて面倒という問題がありました。 http://blog.ishkawa.org/2015/03/02/1425257147/

Xcode 7ではそれが改善されており、XCTAssertEqualの引数は<T: Equatable>(expression1: T?, expression2: T?)というものになりました。これにより、unwrapせずにTT?が比較できるようになりました。

let a = 1
let b = Optional(1)
XCTAssertEqual(a, b)