您的位置:首页 > 移动开发 > IOS开发

ios单元测试之GHUnit

2015-08-11 23:45 323 查看
1、同样创建一个测试的工程,

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已经很少用了)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: