关于Xcode单元测试,你必须知道的18个知识

关于Xcode的单元测试,有些方法你是必须知道的。

  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。

文章目录
|