深度解析iPhone中项目单元测试是本文要介绍的内容,在Xcode的iPhone SDK 3.0之后,已经内置了单元测试的功能,开发者可以借助单元测试写出更健壮更正确的代码。
文章使用的SDK版本是3.2.3。 Xcode提供了两种单元测试方式,分别是逻辑测试与应用测试,逻辑测试用于检验那些独立无环境限制的函数,正是如此,逻辑测试无需启动模拟器或真机,直接在build阶段就完成了。应用测试用于检测你的iPhone应用程序,可以测试包括界面操作等各方面行为。
逻辑测试
建立逻辑测试步骤:
在iPhone项目里添加一个新target,并选择iPhone OS-Cocoa Touch-Unit Test Bundle,然后命名并直接添加到哪个iPhone项目下。
设置单元测试的target为当前激活的target
为了整理方便,可新建组专门放置测试文件。添加测试文件选择添加新文件,并选择iPhone OS-Cocoa Touch Class-Objective-C test case class,在后续的命名时特别注意要添加到单元测试的target上,且只可勾选一个。
新建完毕后,将测试文件修改为如下形式:
Objective-c代码
- // 头文件
- #import <SenTestingKit/SenTestingKit.h>
- #import <UIKit/UIKit.h>
- @interface testfirst : SenTestCase
- {
- }
- - (void)testFirst;
- @end
- // 实现文件
- @implementation testfirst
- int get(int i)
- {
- return i;
- }
- - (void)testFirst
- {
- STAssertTrue(get(0), @"Must Fail");
- }
- @end
- // 头文件
- #import <SenTestingKit/SenTestingKit.h>
- #import <UIKit/UIKit.h>
- @interface testfirst : SenTestCase
- {
- }
- - (void)testFirst;
- @end
- // 实现文件
- @implementation testfirst
- int get(int i)
- {
- return i;
- }
- - (void)testFirst
- {
- STAssertTrue(get(0), @"Must Fail");
- }
- @end
注意需要导入SenTestingKit的framework,此framework不在列表中,添加时需要指定路径,在本机上是/Developer/Library/Frameworks/SenTestingKit.framework
逻辑测试步骤:
选择build,如果没有错误,则编译成功,如果有错误,则Xcode编译失败,并指出错误之处。
测试的函数签名必须是(void)testXXX;
小结:深度解析iPhone中项目单元测试的内容介绍完了,希望本文对你有所帮助,更多内容请参考编辑推荐。