iOS 测试入门 XCTest入门(一)

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;
}
11.现在你已经学会了如何使用XCTest测试你的代码了。

总结:

0.Xcode建立最基本的测试配置。当你添加一个新的测试项目目标,Xcode自动添加相关产品的计划目标。最初的测试类通过一个简单的测试方法与目标,并可以在test navigator中找到。

1.一个测试方法可以包括多个断言,得到一个pass或fail的结果。这种方法使您能够创建简单或非常复杂的测试根据您的项目的需要。

2.setup和tearDown实例方法解决了代码重复较多的问题,让测试更简单。

3.test navigator让你很容易定位和编辑测试方法。你可以立即运行测试使用test navigator中的指示器按钮或直接从源代码编辑器,当一个测试类的实现是开放的。当一个测试失败,指标在test navigator搭配失败标记在源编辑器中。

你可能感兴趣的:(ios,测试,xcode)