什么是XCTAssertEqualObjects的替代品?

时间:2016-01-13 10:41:35

标签: ios swift xctest

确定何时,但至少从Xcode 7.2开始,XCTAssertEqualObjects不再可用。

是否有替代品而不必求助?

   XCTAssertTrue(foo == bar)

请注意,Apple的"Writing Test Classes and Methods"显示已过期,但仍指缺少的类。

2 个答案:

答案 0 :(得分:3)

对于Swift,您只需使用int main(void)

您的对象需要实现XCTAssertEqual协议,以便宏可以使用Equatable

示例:

==

答案 1 :(得分:0)

我会更准确地了解您正在测试的内容。

平等和认同不是一回事,特别是在Swift中,有更丰富的价值类型。

如果要按照Equatable的一致性定义测试相等性,请使用:

XCTAssertTrue(a == b)

如果要测试两个引用类型是否相等:

XCTAssertTrue(a === b)

我觉得这更好,因为断言更明确;对象是相同还是相同。

请记住关于Swift中值类型的WWDC15会话 - 建议始终使您的值类型符合Equatable