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单元测试常用的宏和测试方法的主要内容,如果未能解决你的问题,请参考以下文章

现在常用的C/C++单元测试工具有那些?

iOS 单元测试- Xcode 7测试工具XCTest学习

Java单元测试介绍

iOS 开发-单元测试

单元测试

回调方法的单元测试用例ios