教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

ios单元测试工程建立

来源:网络收集 时间:2026-08-14
导读: ios单元测试工程建立 方法1: XCode下的iOS单元测试 时间:12-05-16 10:23:34 点击:6401 XCode内置了OCUnit单元测试框架,但目前最好用的测试框架应该是GHUnit。通过GHUnit + OCMock组合,我们可以在iOS下进行较强大的单元测试功能。本文将演示如何在XCode

ios单元测试工程建立

方法1:

XCode下的iOS单元测试

时间:12-05-16 10:23:34 点击:6401

XCode内置了OCUnit单元测试框架,但目前最好用的测试框架应该是GHUnit。通过GHUnit + OCMock组合,我们可以在iOS下进行较强大的单元测试功能。本文将演示如何在XCode 4.2 下使用OCUnit,GHUnit和OCMock进行单元测试。 OCUnit

在XCode下新建一个OCUnitProject工程,选中 Include Unit Tests 选择框,

OCUnit框架则会为我们自动添加 Unit Test 框架代码:

ios单元测试工程建立

XCode在OCUnitProjectTests.m中为我们自动生成了一个 Fail 的测试: - (void)testExample {

STFail(@"Unit tests are not implemented yet in OCUnitProjectTests"); }

让我们来运行 Test,看看效果:

ios单元测试工程建立

从图中的红色下划线部分可以看出,测试没有通过,符合预期。我们只要像类OCUnitProjectTests一样编写继承自SenTestCase类的子类,在其中添加形式如:- (void) testXXX(); 的测试函数既可,注意必须是一个无参无返回类型且名称是以 test 为前缀的函数。 OCUnit的有点是官方支持,于XCode集成的比较好。 GHUnit

GHUnit是一个开源的单元测试框架,具有可视化界面,功能亦相当强大。Mark 写了一篇OCUnitvsGHUnit的文章,有兴趣的童鞋可以看一看。OCMock是由MulleKybernetik为 OS X 和iOS平台编写的遵循 mock object 理念的单元测试框架。

下面来介绍如何配置GHUnit和OCMock

1,首先,创建一个名为GHUnitProject的单视图应用程序,注意:不要选中 Include Unit Tests 选择框。然后运行,应该出现白屏。

2,添加新的 test target,选中左边的工程名,点击右侧的 Add Target,新增一个名为 Tests 的 Empty Application 应用程序,让其附属于GHUnitProject注意:不要选中 Include Unit Tests 选择框。

ios单元测试工程建立

ios单元测试工程建立

3,向 Tests 工程中(注意是 Tests 工程)添加GHUnitIOS Framework。首先下载与XCode版本对应的GHUnitIOS Framework。英文好的可以直接查看官方iOS版的安装文档:点此查看,跳过此第 3 节;否则请接着看。

3.1,解压GHUnitIOS框架到GHUnitProject下,让GHUnitIOS.framework与 Tests 在同一目录下。 3.2,回到XCode,右击工程中的 Frameworks group,选中 Add Files to...菜单,选取GHUnitIOS.framework,注意 targets 要选择 Tests。

3.3,设置 Tests 的 Build Settings:在 Other Linker Flags 中增加两个 flag: -ObjC和 -all_load。

ios单元测试工程建立

3.4,删除 Tests 工程中的UTSAppDelegate.h和UTSAppDelegate.m两个文件; 3.5,修改 Tests 工程中的main.m为: #import <UIKit/UIKit.h>

#import <GHUnitIOS/GHUnitIOSAppDelegate.h> int main(intargc, char *argv[]) {

@autoreleasepool {

returnUIApplicationMain(argc, argv, nil, NSStringFromClass([GHUnitIOSAppDelegate class])); } }

3.6,选择编译目标 Tests>iPhone 5.0 Simulator,编译运行,应该能得到如下效果。目前我们还没有编写任何实际测试,所以列表为空。

ios单元测试工程建立

4,编写GHUnit测试。向 Tests 工程中添加名为GHUnitSampleTest的 Objective C class。其内容如下: GHUnitSampleTest.h

#import <GHUnitIOS/GHUnit.h>

@interface GHUnitSampleTest: GHTestCase { } @end

GHUnitSampleTest.m

#import "GHUnitSampleTest.h" @implementation GHUnitSampleTest

- (void)testStrings

ios单元测试工程建立

{

NSString *string1 = @"a string";

GHTestLog(@"I can log to the GHUnit test console: %@", string1); // Assert string1 is not NULL, with no custom error description GHAssertNotNULL(string1, nil);

// Assert equal objects, add custom error description NSString *string2 = @"a string";

GHAssertEqualObjects(string1, string2, @"A custom error message. string1 should be equal to: %@.", string2); } @end

然后编译运行,点击 Run,效果如下:

ios单元测试工程建立

图中的 All 栏显示所以的测试,Failed 栏显示没有通过的测试。强大吧,GHUnit。你可以向GHUnitSampleTest添加新的测试,比如: - (void)testSimpleFail {

GHAssertTrue(NO, nil); }

我们可以向 Tests 添加更多测试类,只要该类是继承自GHTestCase,且其中的测试方法都是无参无返回值且方法名字是以 test 为前缀即可。 …… 此处隐藏:872字,全部文档内容请下载后查看。喜欢就下载吧 ……

ios单元测试工程建立.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/41776.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)