今天偶尔碰到了单元测试的相关内容,就了解了一下,感觉比较好用:
单元测试就是面试中经常问到的TDD(Test Driven Development),xcode4之前测试函数需自己创建,之后xcode5,对单元测试进行了升级,
xcode4之前的用法详见:http://www.infoq.com/cn/articles/ios-unit-test-1
xcode5之后的用法,特别是xcode6对单元测试的升级比较令人兴奋,
个人比较佩服下面这个哥们的介绍,比较详细
http://www.it165.net/pro/html/201403/10828.html
单元测试(unit testing):对软件中最小可测试单元进行检查和验证。一般面向过程的语言中,基本单元为函数,面向对象的语言中,基本单元通常是类,其实对于一个
手机上的app来说基本单元也可以是一个UI页面。平时我们写了一个函数,执行以下看是否正常
工作,也属于单元测试。
测试用例(
test case):对测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、输出数据、测试步骤、预期结果、测试脚本等。
它是一种检验行为,便于我们写出高质量代码。
它是一种设计行为,有利于我们编程能力的提高。
它是一种文档编写行为,让我们的程序有据可依。
Xcode内置了OCUnit单元测试框架。在Xcode5之前,建立项目的时候有一个选项,让我们选择是否建立一个含有单元测试target的项目,而在Xcode5中只要建立一个项目就默认带有一个单元测试的target。
在Xcode5之前,建立一个工程的时候如果没有勾选单元测试的话也不要紧,可以自己添加一个单元测试的target。
在弹出选择框中 IOS-->Other---> Cocoa Touch Unit Testing Bundle
这里看似OK,但还是差一步,在点击RUN,长按后产生TEST,点击TEST进行开启测试时,将产生一个提示:The scheme "工程名" is not configured for testing. edit the scheme to enable testing,or cancel the action.即我们还没有给工程配置测试工程行,点击修改来添加,或点击取消进行结束。点击Edit Scheme (或菜单中Product->edit Scheme)
弹出scheme窗体。选中Test,然后点击+号来没加一个scheme
选中之前创建的CoredataDemoTest后点击ADD
说明:
在Xcode5中测试类必须继承自XCTestCase。在Xcode5之前测试类必须继承自SenTestCase。
运行测试用例:
command + u。
长按运行按钮选择列表中的test;
一般不需要自己建立测试函数,一般程序自带的有测试target里面有test类,
里面有几个方法:
1. - (void)setUp:每个test方法执行前调用
2. - (void)tearDown:每个test方法执行后调用
3. - (void)testXXX:命名为XXX的测试方法
之前都是写好模块之后反复的run,stop,比较麻烦,单元测试能很好的解决这个问题,
好吧,写的比较乱,后续在整理,