美文网首页将来跳槽用
iOS开发单元测试基础

iOS开发单元测试基础

作者: Cyrill | 来源:发表于2016-08-17 15:31 被阅读27次

    什么是单元测试

    在计算机编程中,单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

    准备

    1.在当前Xcode中新建一个工程默认自带一个单元测试的文件夹,自动生成了一个实现XCTestCase的.m文件。
    2.测试函数的要求:a.必须无返回值。 b.以test开头。
    3.测试函数的执行顺序:按 系统比较排序后的顺序。
    4.运行单元测试的快捷键:CMD + U

    断言

    下面一共18个断言( 含义转自ios UnitTest 学习笔记 )

    XCTFail(format…) 生成一个失败的测试;
    XCTAssertNil(a1, format...)为空判断,a1为空时通过,反之不通过; 
    XCTAssertNotNil(a1, format…)不为空判断,a1不为空时通过,反之不通过;
    XCTAssert(expression, format...)当expression求值为TRUE时通过; 
    XCTAssertTrue(expression, format...)当expression求值为TRUE时通过; 
    XCTAssertFalse(expression, format...)当expression求值为False时通过; 
    XCTAssertEqualObjects(a1, a2, format...)判断相等,[a1 isEqual:a2]值为TRUE时通过,其中一个不为空时,不通过 ;
    XCTAssertNotEqualObjects(a1, a2, format...)判断不等,[a1 isEqual:a2]值为False时通过;
    XCTAssertEqual(a1, a2, format...)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用,实际测试发现NSString也可以); 
    XCTAssertNotEqual(a1, a2, format...)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);
    XCTAssertEqualWithAccuracy(a1, a2,accuracy, format...)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试; 
    XCTAssertNotEqualWithAccuracy(a1, a2,accuracy, format...)判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试; 
    XCTAssertThrows(expression, format...)异常测试,当expression发生异常时通过;反之不通过;(很变态)
    XCTAssertThrowsSpecific(expression,specificException, format...)异常测试,当expression发生specificException异常时通过;反之发生其他异常或不发生异常均不通过; 
    XCTAssertThrowsSpecificNamed(expression,specificException, exception_name, format...)异常测试,当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过; 
    XCTAssertNoThrow(expression, format…)异常测试,当expression没有发生异常时通过测试;
    XCTAssertNoThrowSpecific(expression,specificException, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过; 
    XCTAssertNoThrowSpecificNamed(expression,specificException, exception_name, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过
    

    相关文章

      网友评论

        本文标题:iOS开发单元测试基础

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