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已经非常少用了)