美文网首页
XCTestCase的常用断言

XCTestCase的常用断言

作者: 不慌不忙 | 来源:发表于2018-03-20 11:59 被阅读68次

XCTestCase的常用断言一览

@property(nonatomic,assign)int condition1;

@property(nonatomic,assign)int condition2;

@property(nonatomic,assign)int condition3;

@property(nonatomic,strong)NSString *condition4;

//这里的断言基本都以XCT开头,末参数一定为报错时展示的文字信息

//断言,最基本的测试,第一个参数为真,则通过

XCTAssert(_condition1 == _condition2,@"测试过程中出现错误");

//bool测试中的true测试,首参数为真通过

XCTAssertTrue(_condition1 == _condition2,@"BOOL测试中的true测试出错");

//bool测试中的false测试,首参数为假通过

XCTAssertFalse(_condition1 == _condition3,@"BOOL测试中的false测试出错");

//相等测试,首参数与次参数相等通过

XCTAssertEqual(_condition1,_condition2,@"相等测试出错");

//不相等测试,首参数与次参数不相等通过

XCTAssertNotEqual(_condition1,_condition3,@"不等测试出错");

//针对loat或double比较,首参数与次参数的差,比第三参数的值小,通过

//大于测试

XCTAssertGreaterThan(_condition1,_condition3,@"大于测试出错");

//大于等于测试

XCTAssertGreaterThanOrEqual(_condition1,_condition2,@"大于或等于测试出错");

//相差测试,首参数与次参数的差,比第三参数的值小,通过

XCTAssertEqualWithAccuracy(0.6,0.5,0.11,@"相差测试结果比第三参数大");

//针对loat或double比较,首参数与次参数的差,比第三参数的值大,通过

XCTAssertNotEqualWithAccuracy(0.6,0.5,0.01,@"相差测试结果比第三参数小");

//首参数为nil,通过

XCTAssertNil(nil,@"nil测试");

//首参数不为nil,通过

XCTAssertNotNil(_condition4,@"非nil测试");

//无条件报错

XCTFail(@"强制失败");

异步测试

Unit Testing除了进行一般测试外还可以进行异步测试。逻辑是设置一个【期望】,然后在异步方法中执行【期望满足】。外部则设定一个时间限制来捕获该【期望】。

//异步测试(期望测试)

-(void)testExpectation {

    //声明一个期望

    XCTestExpectation *exp =[self expectationWithDescription:@"这里写入操作出错的原因描述。。。"];

    //添加一个新线程

    NSOperationQueue *queue =[[NSOperationQueue alloc]init];

    [queue addOperationWithBlock:^{

        //模拟这个异步操作需要2秒后才能获取结果,比如一个异步网络请求

        sleep(2);

        //模拟获取的异步操作后,获取结果,判断异步方法的结果是否正确

        XCTAssertEqual(_condition1,_condition2,@"返回结果又问题");

        //如果断言没问题,就调用fulfill宣布测试满足期望

        //注:如果你申明了多个期望,每个都需要fulfill

        [exp fulfill];

    }];

    //延迟捕获,3秒后未获得满足的期望,会报错。这里修改为"1"就会报错

    [self waitForExpectationsWithTimeout:3 handler:^(NSError * _Nullable error){

        if(error){

            NSLog(@"Timeout Error: %@",error);

        }

    }];

}

相关文章

  • XCTestCase的常用断言

    XCTestCase的常用断言一览 @property(nonatomic,assign)int conditio...

  • Selenium中的断言

    Selenium常用的断言包括 页面属性断言:断言标题、url或页面源码中是否包含或不包含特定字符 元素存在断言:...

  • 快速了解iOS单元测试

    XCTestCase 进入xxUITests.m文件,会看到继承自XCTestCase:Xcode集成的一套单元测...

  • Selenium+python之断言使用

    1、常用的断言: 2、异常类型: 3、UnitTest框架中的断言 例子: 也可以这么用assert断言: 4、w...

  • maven tests

    (一)关于断言assert 断言assert与异常exception的区别在于:1、断言用于调试代码2、异常用于捕...

  • unittest--断言

    断言方式页面链接地址(URL),页面标题(title),元素文本等。 常用断言

  • Swift单元测试

    记录一波单元测试流程吧 XCTestCase 创建一个类 继承 XCTestCase setUp tearDown...

  • Python+Selenium框架篇6-介绍常用的断言方法

    本文介绍unittest框架中常用的断言方法 1.断言是否相等 assertEqual(a,b,[msg=‘测试失...

  • 【第八天】jmeter元件详解之断言

    断言组件用来对服务器的响应数据做验证。常用的断言是响应断言,支持正则表达式 1、BeanShell Asserti...

  • 常用的Jest断言

    .not修饰符允许你测试结果不等于某个值的情况,这和英语的语法几乎完全一样,很好理解。 .toEqual匹配器会递...

网友评论

      本文标题:XCTestCase的常用断言

      本文链接:https://www.haomeiwen.com/subject/fbfpqftx.html