Xcode单元测试-断言

2017-04-08  本文已影响95人  ThaiLanKing

根据测试的目的大致可以将单元测试分为这三类:

  1. 性能测试:测试代码执行花费的时间
  2. 逻辑测试:测试代码执行结果是否符合预期
  3. 异步测试:测试多线程操作代码

一个标准的测试类文件包含如下函数:

  1. setUp会在每一个测试用例开始前调用,用来初始化相关数据
  2. tearDown在测试用例完成后调用,可以用来释放变量操作;
  3. testPerformanceExample中的会将方法中的block代码耗费时长打印出来;
  4. testExample可以用来执行我们需要的测试操作。
//生成一个失败的测试;
XCTFail(format…)  

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

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

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

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

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

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

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

//判断相等(当a1和a2是 C语言标量、结构体或联合体时使用, 判断的是变量的地址,如果地址相同则返回TRUE,否则返回NO);
XCTAssertEqual(a1, a2, format...)

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

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

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

//异常测试,当expression发生异常时通过;反之不通过;
XCTAssertThrows(expression, format...) 

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

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

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

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

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

参考文章:
iOS-使用Xcode自带单元测试UnitTest
iOS单元测试(作用及入门提升)
iOS开发-单元测试

上一篇下一篇

猜你喜欢

热点阅读