ios的单元測试OCUnit以及更新了之后的XCTestCase
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(出来)方法和对应的实例方法。
例外两个方法我们能够从英文上面看出来,一个是測试功能性的样例,一个是測试性能上的样例。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="362" width="719">
能够看上面红色地方添加了检測代码性能的方法。
3、如今的xcode中都能够进行通过一个可管理的大量測试用例"分拆逻辑測试"。在代码库的增长和进化方面会产生非常多不同。
OCUnit和XCTest兼容性,他们之间的转化是基于target——>by ——> target
步骤:
1.选择 Edit > Refactor > Convert OCUnit to XCTest。
2.点击下一步,进入到下一个工作表。
3.在出现的表单中,选择要转换的測试目标。
4.要查看一个特定的目标能否与 XCTest 转换。请单击其名称。
5.单击下一步button。弹出了一个FileMerge界面,能够查阅更改。(这一步就是我们常常使用到的给边文件名称字的方法)
6.假设确定是这样更改,就能够单击保存button。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的单元測试OCUnit以及更新了之后的XCTestCase的更多相关文章
- ios单元測试之GHUnit
1.相同创建一个測试的project, 2.通过cocoaPod来下载GHUnit框架,或者到github上下载.由于这个框架是开源的第三方框架. 同一时候加入QuartCore.framework( ...
- iOS单元測试:Specta + Expecta + OCMock + OHHTTPStubs + KIF
框架选择 參考这篇选型文章,http://zixun.github.io/blog/2015/04/11/iosdan-yuan-ce-shi-xi-lie-dan-yuan-ce-shi-kuang ...
- [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)
简单介绍: 单元測试是软件开发的一个重要方面.毕竟,单元測试能够帮你找到bug和崩溃原因,而程序崩溃是Apple在审查时拒绝app上架的首要原因. 单元測试不是万能的,但Apple把它作为开发工具包的 ...
- iOS 单元測试之XCTest具体解释(一)
原创blog,转载请注明出处 blog.csdn.net/hello_hwc 欢迎关注我的iOS-SDK具体解释专栏 http://blog.csdn.net/column/details/huang ...
- 软件測试、ios中的測试概念以及步骤
软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...
- 让你提前认识软件开发(19):C语言中的协议及单元測试演示样例
第1部分 又一次认识C语言 C语言中的协议及单元測试演示样例 [文章摘要] 在实际的软件开发项目中.常常要实现多个模块之间的通信.这就须要大家约定好相互之间的通信协议,各自依照协议来收发和解析消息. ...
- Java单元測试工具JUnit 5新特性一览
Java单元測试工具JUnit 5新特性一览 作者:chszs,未经博主同意不得转载. 经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs JUnit是最流行的开源 ...
- 利用Continuous Testing实现Eclipse环境自己主动单元測试
当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...
- 在Eclipse中使用JUnit4进行单元測试(0基础篇)
本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数,这些函数的功能可能 ...
随机推荐
- .net类中静态方法的继承
父类中的静态方法,继承的子类能不能调用?一直在这里有疑惑,即使在下面的测试之后,也只是得到了结论,不明原理. class ClsParent { public static void ShowSth( ...
- 【LeetCode】Permutations 解题报告
全排列问题.经常使用的排列生成算法有序数法.字典序法.换位法(Johnson(Johnson-Trotter).轮转法以及Shift cursor cursor* (Gao & Wang)法. ...
- android开发(39) 使用android系统的账户中心管理账
在android的系统设置页,有个“账户”分组,里面有很多的账户,很多app都使用了这个账户系统,比如“谷歌”,“淘宝”,“微信”,“华为”等.这些都是大公司呢,有没有可能我们也使用这个,让我们的软件 ...
- mongo 杀掉慢的程序killMyRunningOps("12.23.32.21") #####这个是客户端的ip
mongodb运维(3) db.currentOp与db.killOp命令 2018.08.12 23:55 113浏览 字号 好久没更新mongo运维这块知识了,这次介绍 db.currentOp ...
- php 常用的标签比较
eq或者 equal 等于 neq 或者notequal 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 heq 恒等于 nheq 不恒等于
- R语言:读取数据
主要学习如何把几种常用的数据格式导入到R中进行处理,并简单介绍如何把R中的数据保存为R数据格式和csv文件. 1.保存和加载R的数据(与R.data的交互:save()函数和load()函数)a &l ...
- [JS] 动态修改ckPlayer播放器宽度
//设置播放器宽度var play_width=0;$(function(){ play_width = $(window).width() - $(".stu-video-r") ...
- [hbase] HBase内置过滤器的一些总结
http://blog.csdn.net/cnweike/article/details/42920547
- Some Parameter Interpretation On Using Mininet
MiniNet使用很简单,下面以下面帮助界面截图为例,简单讲述常见的几个命令即可: sudo mn --topo single,3--mac --switch ovsk--controller rem ...
- 工行金邦达USBKey 在Mac OS的 Parallels Desktop 的虚拟Win7出现“ PKCS11
由于经常用到支付宝的工行付款,所以在我的mac os中安装了Parallels Desktop 7(Win7旗舰版),但随之而来的问题是,运行PD后,再插入工行的USBkey,运行工具箱后出现“PKC ...