ios的单元测试OCUnit以及更新了之后的XCTestCase
2015-08-11 23:43
162 查看
1、像一般创建项目的步骤一样,创建一个用于测试的项目或者打开一个待测试的项目。
(oc是5.0之前所使用的测试,现在用的是XCtestCase,默认会创建一个主的测试类,以前版本可能很多步骤省去)
如下:我们可以看到一个text中的测试文件,现在所有测试类都是继承XCTestCase类。
2、写入相应的测试用例在测试类,测试类中对要测试的类需要进入相应的类的头文件,这个是理所应当的。然后执行“运行测试”。快捷键:command+U或者product—> test。
下面是是运行成功之后的文档。
上面就是一个简单的测试成功的例子。
2、不同版本之间的差别:
熟悉OCUtest的人应该很快就可以熟悉OCUnit,因为一般都是一样的,XCTest是对OCUnit进一步的封装。
存在以下一点微小的差异:
1)使用不同的框架,测试用例需要继承不同的基类,XCTest继承XCTestCase基类,而OCUnit继承SenTest基类。
2)因为继承的基类不同,所以那些断言的方法名字的前缀也会发生改变,XCTest中的断言方法是XCT——也就是前面几个字母,同样OCUint中是ST,是SenTest的前缀。
3)(最大的区别)在XCTest中,使用类方法,使用者可以使用类方法的级别的setUp和tearDown方法,让测试代码更加的合理。更加的有效控制测试方法之间的隔离环境的问题。我们
4)到了6.0之后,省略了类方法,直接就是实例的setUp(进入)和tearDown(出来)方法和相应的实例方法。
例外两个方法我们可以从英文上面看出来,一个是测试功能性的例子,一个是测试性能上的例子。
可以看上面红色地方增加了检测代码性能的方法。
3、现在的xcode中都可以进行通过一个可管理的大量测试用例"分拆逻辑测试",在代码库的增长和进化方面会产生很多不同。
OCUnit和XCTest兼容性,他们之间的转化是基于target——>by ——> target
步骤:
1.选择 Edit > Refactor > Convert OCUnit to XCTest。
2.点击下一步,进入到下一个工作表。
3.在出现的表单中,选择要转换的测试目标。
4.要查看一个特定的目标是否能与 XCTest 转换,请单击其名称。
5.单击下一步按钮。弹出了一个FileMerge界面,可以查阅更改。(这一步就是我们经常使用到的给边文件名字的方法)
6.如果确定是这样更改,就可以单击保存按钮。Xcode会把更改写入文件。
参看链接:
http://www.cocoachina.com/ios/20140717/9168.html
4、书写测试的是应该注意一些细节:
1)测试用例中的方法应该是以前缀为test,我们常常写为DISABLE_test… 这样就不会测试,因为识别只是识别test开头的。
2) 测试需要一个放置的位置,比如我们测试一个用例的时候我们可以创建相应的类,并且继承XCTestCase,在xcode中直接选择创建测试的类就好了。
3)测试要有一定的语气效果,ios中表达预期的效果一般使用断言来表示。
4)xcTestCase中测试都是按照一行行来进行测试,如果失败,断言会抛出异常。
5)测试用例,测试用例(可以只有一个方法,或者多个方法),执行的循序setup——> 测试用例的方法——> teardown .
(oc是5.0之前所使用的测试,现在用的是XCtestCase,默认会创建一个主的测试类,以前版本可能很多步骤省去)
如下:我们可以看到一个text中的测试文件,现在所有测试类都是继承XCTestCase类。
2、写入相应的测试用例在测试类,测试类中对要测试的类需要进入相应的类的头文件,这个是理所应当的。然后执行“运行测试”。快捷键:command+U或者product—> test。
下面是是运行成功之后的文档。
上面就是一个简单的测试成功的例子。
2、不同版本之间的差别:
熟悉OCUtest的人应该很快就可以熟悉OCUnit,因为一般都是一样的,XCTest是对OCUnit进一步的封装。
存在以下一点微小的差异:
1)使用不同的框架,测试用例需要继承不同的基类,XCTest继承XCTestCase基类,而OCUnit继承SenTest基类。
2)因为继承的基类不同,所以那些断言的方法名字的前缀也会发生改变,XCTest中的断言方法是XCT——也就是前面几个字母,同样OCUint中是ST,是SenTest的前缀。
3)(最大的区别)在XCTest中,使用类方法,使用者可以使用类方法的级别的setUp和tearDown方法,让测试代码更加的合理。更加的有效控制测试方法之间的隔离环境的问题。我们
4)到了6.0之后,省略了类方法,直接就是实例的setUp(进入)和tearDown(出来)方法和相应的实例方法。
例外两个方法我们可以从英文上面看出来,一个是测试功能性的例子,一个是测试性能上的例子。
可以看上面红色地方增加了检测代码性能的方法。
3、现在的xcode中都可以进行通过一个可管理的大量测试用例"分拆逻辑测试",在代码库的增长和进化方面会产生很多不同。
OCUnit和XCTest兼容性,他们之间的转化是基于target——>by ——> target
步骤:
1.选择 Edit > Refactor > Convert OCUnit to XCTest。
2.点击下一步,进入到下一个工作表。
3.在出现的表单中,选择要转换的测试目标。
4.要查看一个特定的目标是否能与 XCTest 转换,请单击其名称。
5.单击下一步按钮。弹出了一个FileMerge界面,可以查阅更改。(这一步就是我们经常使用到的给边文件名字的方法)
6.如果确定是这样更改,就可以单击保存按钮。Xcode会把更改写入文件。
参看链接:
http://www.cocoachina.com/ios/20140717/9168.html
4、书写测试的是应该注意一些细节:
1)测试用例中的方法应该是以前缀为test,我们常常写为DISABLE_test… 这样就不会测试,因为识别只是识别test开头的。
2) 测试需要一个放置的位置,比如我们测试一个用例的时候我们可以创建相应的类,并且继承XCTestCase,在xcode中直接选择创建测试的类就好了。
3)测试要有一定的语气效果,ios中表达预期的效果一般使用断言来表示。
4)xcTestCase中测试都是按照一行行来进行测试,如果失败,断言会抛出异常。
5)测试用例,测试用例(可以只有一个方法,或者多个方法),执行的循序setup——> 测试用例的方法——> teardown .
相关文章推荐
- iOS 内存管理总结
- ios平台的一些特性
- IOS Q&A __weak typeof(self) weakSelf = self 是什么意思?
- 软件测试、ios中的测试概念以及步骤
- IOS九宫格
- IOS 30多个iOS常用动画,带详细注释
- iOS编程:学习篇(九)
- 关于iOS Swipe手势的一点总结
- IOS入门学习笔记(简单的登录界面)
- iOS Segment带滑动条切换效果
- iOS项目开发实战——使用同步请求获取网页源代码
- iOS音乐后台播放及锁屏信息显示
- iOS-Core Animation 核心动画
- IOS中关于KVC与KVO知识点
- iOS自动打包流程
- iOS常用第三方类库
- iOS 三种收起键盘的方法
- IOS 本地通知和远程通知
- iOS项目开发实战——网页源代码实现二进制和HTML的转换
- iOS开发之OC实例可见度,方法