美文网首页
Xcode单元测试-断言

Xcode单元测试-断言

作者: ThaiLanKing | 来源:发表于2017-04-08 14:41 被阅读95次

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

    1. 性能测试:测试代码执行花费的时间
    2. 逻辑测试:测试代码执行结果是否符合预期
    3. 异步测试:测试多线程操作代码
    • 单元测试的方法必须以test开头,遵循驼峰命名法且不能带有参数。
    • 测试方法的执行顺序是字典序排序。
    • 按快捷键Command + U进行单元测试(或者Product->Test),这个是全部测试。

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

    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开发-单元测试

    相关文章

      网友评论

          本文标题:Xcode单元测试-断言

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