没有合适的资源?快使用搜索试试~ 我知道了~
iOSUnitTest单元测试
0 下载量 134 浏览量
2021-01-27
17:03:04
上传
评论
收藏 169KB PDF 举报
温馨提示
试读
5页
在计算机编程中,单元测试(英语:UnitTesting)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。根据不同场景,单元的定义也不一样,通常我们将C语言的单个函数或者面向对象语言的单个类视作测试的单元。在使用单元测试的过程中,我们要知道这一点:单元测试并不是为了证明
资源详情
资源评论
资源推荐
iOSUnitTest单元测试单元测试
一、单元测试的定义
在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检
验的测试工作。程序单元是应用的最小可测试部件。
在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象
类、或者派生类(子类)中的方法。
根据不同场景,单元的定义也不一样,通常我们将C语言的单个函数或者面向对象语言的单个类视作测试的单元。在使用单元
测试的过程中,我们要知道这一点:
单元测试并不是为了证明代码的正确性,它只是一种用来帮助我们发现错误的手段
单元测试不是万能药,它确实能帮助我们找到大部分代码逻辑上的bug,同时,为了提高测试覆盖率,这能逼迫我们对代码不
断进行重构,提高代码质量等。
二、iOS单元测试
xcode本身的测试框架集成:在Xcode4.x中集成了测试框架OCUnit,UI Tests是iOS9推出的新特性。目前我们在创建项目的
时候会默认选中有关测试的这两项:Include Unit Tests、Include UI Tests。在创建项目之后,会自动生成一个
appName+Tests的文件夹目录,下面存放着单元测试的文件。
根据测试的目的大致可以将单元测试分为这三类:
a.性能测试:测试代码执行花费的时间
b.逻辑测试:测试代码执行结果是否符合预期
c.异步测试:测试多线程操作代码
UnitTest文件里面方法介绍:
1.(void)setUp {//每一个测试用例开始前调用,用来初始化相关数据
2.(void)tearDown {//测试用例完成后调用,可以用来释放变量等结尾操作
3.(void)testExample {//用来执行我们需要的测试操作,正常情况下,我们不使用这个方法,而是创建名为test+测试目的的方法
来完成我们需要的操作(注意:此时自定义的方法需要以test开头方能进行测试,否则左边是不显示菱形的)
4.(void)testPerformanceExample {//会将方法中的block代码耗费时长打印出来--默认执行了10次,打印出了平均耗时,和各次
的耗时,最大误差不超过10%。其中运行之后block这行右侧显示的就是平均耗时。
在每个测试用例方法的左侧有个菱形的标记,点击这个标记可以单独的运行这个测试方法。如果测试通过没有发生任何断言错
误,那么这个菱形就会变成绿色勾选状态。使用快捷键command+U直接依次调用所有的单元测试。
另外,可以在左侧的文件栏中选中单元测试栏目,然后直观的看到所有测试的结果。同样的点击右侧菱形位置的按钮可以运行
单个测试方法或者文件:
为了保证单元测试的正确性,我们应当保证测试用例中只存在一个类或者只发生一个类变量的属性修改。下面是我们测试中常
用的宏定义:(XCTest 带有许多内建的断言)
XCTAssertNotNil(a1, format…) 当a1不为nil时成立
XCTAssert(expression, format...) 当expression结果为YES成立
XCTAssertTrue(expression, format...) 当expression结果为YES成立;
XCTAssertEqualObjects(a1, a2, format...) 判断相等,当[a1 isEqualTo: a2]返回YES的时候成立
weixin_38524851
- 粉丝: 6
- 资源: 944
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0