iOS单元测试常用的宏和测试方法
Posted 博为峰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS单元测试常用的宏和测试方法相关的知识,希望对你有一定的参考价值。
○
单元测试常用的宏和测试方法
XCTFail(...)
任何尝试都会测试失败,...是输出的提示文字。(后面都是这样)
XCTAssertNil(expression, ...)
expression为空时通过,否则测试失败。
expression接受id类型的参数。
XCTAssertNotNil(expression, ...)
expression不为空时通过,否则测试失败。
expression接受id类型的参数。
XCTAssert(expression, ...)
expression为true时通过,否则测试失败。
expression接受boolean类型的参数。
XCTAssertTrue(expression, ...)
expression为true时通过,否则测试失败。
expression接受boolean类型的参数。
XCTAssertFalse(expression, ...)
expression为false时通过,否则测试失败。
expression接受boolean类型的参数。
XCTAssertEqualObjects(expression1, expression2, ...)
expression接受id类型的参数。
XCTAssertNotEqualObjects(expression1, expression2, ...)
expression接受id类型的参数。
XCTAssertEqual(expression1, expression2, ...)
expression1和expression1相等时通过,否则测试失败。
expression接受基本类型的参数(数值、结构体之类的)。
XCTAssertNotEqual(expression1, expression2, ...)
expression1和expression1不相等时通过,否则测试失败。
expression接受基本类型的参数。
XCTAssertEqualWithAccuracy(expression1, expression2, accuracy, ...)
expression1和expression2之间的任何值都大于accuracy时,测试失败。
expression1、expression2、accuracy都为基本类型。
XCTAssertNotEqualWithAccuracy(expression1, expression2, accuracy, ...)
expression1和expression2之间的任何值都小于等于accuracy时,测试失败。
expression1、expression2、accuracy都为基本类型。
XCTAssertGreaterThan(expression1, expression2, ...)
expression1 <= expression2时,测试失败。
expression为基本类型
XCTAssertGreaterThanOrEqual(expression1, expression2, ...)
expression1 < expression2时,测试失败。
expression为基本类型
XCTAssertLessThan(expression1, expression2, ...)
expression1 >= expression2时,测试失败。
expression为基本类型
XCTAssertLessThanOrEqual(expression1, expression2, ...)
expression1 > expression2时,测试失败。
expression为基本类型
XCTAssertThrows(expression, ...)
expression没抛异常,测试失败。
expression为一个表达式
XCTAssertThrowsSpecific(expression, exception_class, ...)
expression没抛指定类的异常,测试失败。
expression为一个表达式
exception_class为一个指定类
XCTAssertThrowsSpecificNamed(expression, exception_class, exception_name, ...)
expression没抛指定类、指定名字的异常,测试失败。
expression为一个表达式
exception_class为一个指定类
exception_name为一个指定名字
XCTAssertNoThrow(expression, ...)
expression抛出异常时,测试失败。
expression为一个表达式
XCTAssertNoThrowSpecific(expression, exception_class, ...)
expression抛出指定类的异常,测试失败。
expression为一个表达式
XCTAssertNoThrowSpecificNamed(expression, exception_class, exception_name, ...)
expression抛出指定类、指定名字的异常,测试失败。
expression为一个表达式
exception_class为一个指定类
exception_name为一个指定名字
异步测试方法(定时器测试)
- (void)testTimerOne02{ XCTestExpectation *exception01 = [self expectationWithDescription:@"开始测试定时器"]; self.timer01Exception = exception01; [[DYBoxTimer shareInstance] addSubscriberTimerWithTimeInterval:3 target:self selector:@selector(sendLocation01) timerSubscriberName:@"timer5" isRepeat:YES]; ////等待6s期待预期完成,10s之内完成任务就认为是正常的 [self waitForExpectationsWithTimeout:3.1 handler:nil]; } |
- (void)sendLocation1{ [self.timer1Exception fulfill]; } |
上文内容来自:简书
博为峰对此不表示赞同或者反对,也不为其提供证明,仅供阅读者交流参考。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编,我们将立即处理
以上是关于iOS单元测试常用的宏和测试方法的主要内容,如果未能解决你的问题,请参考以下文章