1、开源框架
2、支持重复测试、单一测试、集成测试。
3、断言方法丰富
4、支持持续集成
5、测试类型多样(UI和Command Line)
官方地址如下:http://gabriel.github.io/gh-unit/
GitHub下载地址:https://github.com/gabriel/gh-unit
下面我来讲下具体实现方法:
一、测试准备
1、xcode下载安装Command Line、测试的simulator
2、若需要手机调试,按http://www.apkbus.com/android-465-1.html中方法设置
3、下载GHUnit框架,并在Example/MyTestable-iOS中提取GHUnitiOS.framework
二、新建项目
1.首先,创建一个名为 GHUnitTest 的Empty Application,注意:不要选中 Include Unit Tests和 Use Core Data
2.添加新的 test target,点击右侧的 Add Target,新增一个名为Test 的 Empty Application,让其附属于GHUnitTest,注意:不要选中 Include Unit Tests 和 Use Core Data
3.向 Test添加 GHUnitIOS Framework,右击工程中的 Frameworks,选中 Add Files to...菜单,选取 GHUnitIOS.framework,targets 要选择Test
4.设置 Test的 Build Settings:在 Other Linker Flags 中增加两个 flag: -ObjC 和 -all_load
5.删除 Test下的 AppDelegate.h 和 AppDelegate.m 两个文件,注意不是GHUnitTest下
6.选择编译目标 Test>iPhone 6.1Simulator,编译运行,应该能得到如下效果。目前我们还没有编写任何实际测试,所以列表为空。
三、编写测试代码
1.向 Test 工程中添加的 Objective C class测试类,继承于GHTestCase,并编写对应的测试方法,以下是一个AccessTest.m完整的测试类
#import "Test-Prefix.pch" @interface AccessTest : GHTestCase @end @implementation AccessTest - (void)setUpClass{ GHTestLog(@"Test Starts"); } - (void)tearDownClass{ GHTestLog(@"Test ends"); } -(void)tearDown{ [NSThread sleepForTimeInterval:1]; } - (void)testOne{ GHTestLog(@"app starts first"); } -(void)testTwo{ [ GHTestLog(@"app starts sencond"); } @end |