ios单元測试之GHUnit

Posted yangykaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios单元測试之GHUnit相关的知识,希望对你有一定的参考价值。

1、相同创建一个測试的project,

2、通过cocoaPod来下载GHUnit框架,或者到github上下载。由于这个框架是开源的第三方框架。

同一时候加入QuartCore.framework(或者加入:GHUnitios.framework框架)。

3、在项目的Build Setting 中国搜索other linker Flags,并将它的值设置为“-ObjC-all_load”,这个表示连接外面oc框架在编译之后。

4、改动一下启动的入口文件(即为:main.m 函数):不是启动我们经常使用的代理文件。而是我们框架中的代理类。

技术分享

5、创建myTest文件进行測试:写入代码:

6、执行。它和OCUnit有点不同,他是直接执行结果的測试。

结果:

技术分享

简单的測试完毕。


只是这种方法似乎如今非常少用了,由于Xcode中原本的OCUnit如今变成了XCTestCase,这个功能已经比較全面和好用。


扩展:

-ObjC

这个flag告诉链接器把库中定义的Objective-C类和Category都载入进来。这样编译之后的app会变大(由于载入了其它的objc代码进来)。可是假设静态库中有类和category的话仅仅有增加这个flag才行。

-all_load

这个flag是专门处理-ObjC的一个bug的。用了-ObjC以后,假设类库中仅仅有category没有类的时候这些category还是载入不进来。变通方法就是增加-all_load或者-force-load。-all_load会强制链接器把目标文件都载入进来,即使没有objc代码。-force_load在xcode3.2后可用。

可是-force_load后面必须跟一个仅仅想静态库的路径。


另一个开发工具就是GTM了。它是一个google主导的开发并开源的一款Mac和ios的单元測试工具,已经非常久没有更新了。里面有辅助的单元測试的mockgong工具和持续集成工具。(了解。ios已经非常少用了)












以上是关于ios单元測试之GHUnit的主要内容,如果未能解决你的问题,请参考以下文章

玩转单元測试之DBUnit

熊猫猪新系统測试之四:Ubuntu 14.04

[iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)

ios的单元測试OCUnit以及更新了之后的XCTestCase

NSManagedObject [GHUnit] 的单元测试

xcode 中的单元测试(使用 GHUnit 和 OCMock)