前一段时间一直在看iOS测试相关的知识以及测试框架、测试工具的使用,现在拿来总结以下。
GHUnit 是iOS单元测试的一个开源框架,它与XCode集成的OCUnit测试框架有着很大的不同。OCUnit测试框架是集成在你的项目目录中的,而GHUnit测试框架是单独存在的一个target,可以独立运行,并且有UI界面;另外GHUnit是开源的,也意味着你可以根据测试计划自定义框架功能,提高你的测试效率。
那么首先我们先从GHUnit测试框架的配置入手:参考官方文档:http://gh-unit.github.io/gh-unit/docs/appledoc_include/guide_install_ios_7.html,官方文档中的开发环境是Xcode 5,现在已经更新的Xcode7,但是基本的配置步骤是没有太大的区别。
Installing in iOS (Xcode 5)
To use GHUnit in your project, you’ll need to create and configure a test target.
Create Test Target
- You’ll want to create a separate Test target. Select the project file for your app in the Project Navigator. From there, select the “Add Target…” button in the right window.
- Select iOS, Application, Empty Application. Select Next.
- Name it Tests or something similar. Select Finish.
Configure the Test Target
- Select the created Test target and select the tab “Build Phases”. Open the “Link Binary With Libraries” option and click on the “+” button.
-
Select
QuartzCore.framework
and click “Add”. -
Download GHUnitIOS.framework and unzip it in your Test Target directory (a subdirectory of your project directory).
-
Select the created Test target and select the tab “Build Phases”. Open the “Link Binary With Libraries” option and click on the “+” button.
- Click “Add Other…”.
-
Select the
GHUnitIOS.framework
from your Test Target directory. -
We want to enable use of Objective-C categories, which isn’t enabled for static libraries by default. In the Tests target, Build Settings, under Other Linker Flags, add
-ObjC
.
- Select and delete the files from the existing Tests folder. Leave the Supporting Files folder. GHUnit will provide the application delegate below.
- In Tests folder, in Supporting Files, main.m, replace the last argument of UIApplicationMain with
@"GHUnitIOSAppDelegate"
. Remove the#import "AppDelegate.h"
if present.
- Select the Tests target, iPhone Simulator configuration:
- Hit Run, and you’ll hopefully see the test application running (but without any tests).