XCode 6, бета 5
У меня есть unit test, как это:
func testMyObjectsEqual() { //.... XCTAssertEqual(myObject, myOtherObject, "\(myObject) and \(myOtherObject) should be equal") }
XCTAssertEqualObjects больше не доступен в Swift, так как язык не делает различий между скалярами и объектами.
Итак, мы должны использовать XCTAssertEqual, что приводит к следующей ошибке:
"Type MyObject does not conform to protocol Equatable"
Единственным обходным решением, которое я нашел, является наследование (MyObject) из NSObject, чтобы я мог сделать следующее:
XCTAssert(myObject == myOtherObject, "\(myObject) and \(myOtherObject) should be equal")
Итак, мой вопрос: Есть ли способ (начиная с бета-версии 5) использовать XCTAssertEqual для пользовательских типов без необходимости полагаться на NSObject или перегружать все пользовательские типы с перегрузками "=="?