使用GH-Unit对iOS应用进行单元测试

单元测试的目的

  1. 保证代码的正确性
  2. 支持未来的代码重构

基础环境:

  • 使用苹果系统的电脑
  • XCode

GH-Unit是一个强大的单元测试框架,由Gabriel Handford开发,使用GH-Unit进行单元测试需要进行一些配置。

  1. 新建一个项目并添加一个测试目标(Target)

    我这里新建了一个“Window-basedApplication”,新建完成后先尝试“BuildandRun”保证程序能正常启动,在Targets上右击选择“Add-NewTarget…”

    Target的名称可以命名为Tests或者类似的名字。

    下载GH-Unit框架并添加必要的框架到项目

下载地址:https://github.com/downloads/gabriel/gh-unit/GHUnit-0.4.28.zip

解压缩后拖到XCode中,选择拷贝源代码到项目,并且目标选择为Tests

打开Tests这个目标进行配置,设置目标依赖到第一个目标,添加CoreGraphics、Foundation、UIKit这几个框架。检查“FrameworkSearchPaths”

检查“FrameworkSearchPaths”这个参数是否指向GHUnitiOS.framework的父目录,一般默认已是正确的。针对测试目标的“OtherLinkerFlags”添加“-Objc”,“-all_load”参数修改Tests-Info.plist文件

修改里面的“Mainnibfilebasename”参数,将默认为“MainWindow”的值清空。添加GHUnitIOSTestMain.m(http://github.com/gabriel/gh-unit/blob/master/Project-IPhone/GHUnitIOSTestMain.m)

下载后拖到OtherSources中,选择拷贝到项目,并且选择目标为测试项目。(可选)创建Tests_Prefix.pch

从原来的GHUnitExample_Prefix.pch拷贝一个文件并重命名为Tests_Prefix.pch,并使用XCode添加到项目中。

修改Tests_Prefix.pch针对移动设备平台的话添加#import<GHUnitIOS/GHUnit.h>,添加后不用在创建的测试代码中引用库。

最后修改Tests目标的配置文件,搜索GCC_Prefix修改为Tests_Prefix.pch。(可选)设置Makefile文件创建测试

为了便于源代码管理在项目目录下建立Tests,并导入到XCode中。

在Tests组下添加一个测试类,用来测试配置是否正确,命名为“SetupTests”,从NSObject继承,不生成头文件。运行测试

选择Tests目标“Build and Run”,便可运行iPhone模拟器开始单元测试,若碰到问题请检查Tests-Info.plist配置是否正确。

参考资料:

http://gabriel.github.com/gh-unit/_installing.html

http://4arrowsmedia.com/2010/09/ghunit-setup/

相关推荐