关于Xcode单元测试

关于Xcode的单元测试,有些方法你是必须知道的。
<a id="more" style="margin: 0px; padding: 0px; border: 0px; outline: none; font-weight: inherit; font-style: inherit; font-family: inherit; font-size: 16px; vertical-align: baseline; text-decoration: none; color: rgb(37, 143, 184);"></a>

  1. XCTFail(format…) 生成一个失败的测试;

  2. XCTAssertNil(a1, format…)为空判断,a1为空时通过,反之不通过;

  3. XCTAssertNotNil(a1, format…)不为空判断,a1不为空时通过,反之不通过;

  4. XCTAssert(expression, format…)当expression求值为TRUE时通过;

  5. XCTAssertTrue(expression, format…)当expression求值为TRUE时通过;

  6. XCTAssertFalse(expression, format…)当expression求值为False时通过;

  7. XCTAssertEqualObjects(a1, a2, format…)判断相等,[a1 isEqual:a2]值为TRUE时通过,其中一个不为空时,不通过;

  8. XCTAssertNotEqualObjects(a1, a2, format…)判断不等,[a1 isEqual:a2]值为False时通过;

  9. XCTAssertEqual(a1, a2, format…)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用,实际测试发现NSString也可以);

  10. XCTAssertNotEqual(a1, a2, format…)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);

  11. XCTAssertEqualWithAccuracy(a1, a2, accuracy, format…)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试;

  12. XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format…) 判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试;

  13. XCTAssertThrows(expression, format…)异常测试,当expression发生异常时通过;反之不通过;(很变态)

  14. XCTAssertThrowsSpecific(expression, specificException, format…) 异常测试,当expression发生specificException异常时通过;反之发生其他异常或不发生异常均不通过;

  15. XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format…)异常测试,当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过;

  16. XCTAssertNoThrow(expression, format…)异常测试,当expression没有发生异常时通过测试;

  17. XCTAssertNoThrowSpecific(expression, specificException, format…)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过;

  18. XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format…)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过

特别注意下XCTAssertEqualObjects和XCTAssertEqual。
XCTAssertEqualObjects(a1, a2, format…)的判断条件是[a1 isEqual:a2]是否返回一个YES。
XCTAssertEqual(a1, a2, format…)的判断条件是a1 == a2是否返回一个YES。
对于后者,如果a1和a2都是基本数据类型变量,那么只有a1 == a2才会返回YES。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容