1.Introducing the Test Navigator
你可以在Xcode左上角打开下面红色框框内的标志进入测试界面,列表展示测试类名和一些测试用例方法名。
2.鼠标移到下图打勾或者打X位置,你将会看到启动按钮图标,点击可以快速启动运行你的测试,你可以选择同时测试,或者测试一个类或者单独测试一个方法,Xcode会快速给你结果,测试通过是绿色的打勾,测试失败是X。
3.创建一个测试目标 ,如下图所示点击+号,选择单元测试或者UI测试的Target。
4.当你创建完成一个target后,过一会系统会自动给你生成自带的类和方法,如下图,你也可以继续点+增加一些自定义的测试方法。
5.你可以点击运行按钮,看一下运行效果如下图
6.单元测试和性能测试的模板都是空的,这就是为什么他们发布成功迹象;没有断言失败。注意图中的灰色钻石在34行measureBlock:方法。点击这个钻石显示性能结果面板。
7.编辑一些测试用例来测试你的程序,如下面的例子:
#import <XCTest/XCTest.h> |
// |
// Import the application specific header files |
#import "CalcViewController.h" |
#import "CalcAppDelegate.h" |
|
@interface CalcTests : XCTestCase { |
// add instance variables to the CalcTests class |
@private |
NSApplication *app; |
CalcAppDelegate *appDelegate; |
CalcViewController *calcViewController; |
NSView *calcView; |
} |
@end |
- (void) testAddition |
{ |
// obtain the app variables for test access |
app = [NSApplication sharedApplication]; |
calcViewController = (CalcViewController*)[[NSApplication sharedApplication] delegate]; |
calcView = calcViewController.view; |
|
// perform two addition tests |
[calcViewController press:[calcView viewWithTag: 6]]; // 6 |
[calcViewController press:[calcView viewWithTag:13]]; // + |
[calcViewController press:[calcView viewWithTag: 2]]; // 2 |
[calcViewController press:[calcView viewWithTag:12]]; // = |
XCTAssertEqualObjects([calcViewController.displayField stringValue], @"8", @"Part 1 failed."); |
|
[calcViewController press:[calcView viewWithTag:13]]; // + |
[calcViewController press:[calcView viewWithTag: 2]]; // 2 |
[calcViewController press:[calcView viewWithTag:12]]; // = |
XCTAssertEqualObjects([calcViewController.displayField stringValue], @"10", @"Part 2 failed."); |
} |
8.现在点击启动按钮,运行你的测试方法,如下图
9.运行结果断言报错,仔细检查代码,改变参考字符10,并测试成功。
10,当你一次测试的方法过多时,很可能存在很多重复代码,使用系统自动生成的setUp()和tearDown()方法存放一些公用的代码,如下所示
- (void)setUp |
{ |
[super setUp]; |
// Put setup code here. This method is called before the invocation of each test method in the class. |
|
// obtain the app variables for test access |
app = [NSApplication sharedApplication]; |
calcViewController = (CalcViewController*)[[NSApplication sharedApplication] delegate]; |
calcView = calcViewController.view; |
} |
总结:
0.Xcode建立最基本的测试配置。当你添加一个新的测试项目目标,Xcode自动添加相关产品的计划目标。最初的测试类通过一个简单的测试方法与目标,并可以在test navigator中找到。
1.一个测试方法可以包括多个断言,得到一个pass或fail的结果。这种方法使您能够创建简单或非常复杂的测试根据您的项目的需要。
2.setup和tearDown实例方法解决了代码重复较多的问题,让测试更简单。
3.test navigator让你很容易定位和编辑测试方法。你可以立即运行测试使用test navigator中的指示器按钮或直接从源代码编辑器,当一个测试类的实现是开放的。当一个测试失败,指标在test navigator搭配失败标记在源编辑器中。