码迷,mamicode.com
首页 > 移动开发 > 详细

iOS_30_单元测试

时间:2014-09-05 11:25:22      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:测试   单元测试   ios   

单元测试注意事项:

1.测试类必须是XCTestCase的子类,可使用项目自动生成的,也可自己新建一个测试类,用于测试某个特定的被测试的类


2.导入被测试的类.如MathTool

3.新建测试方法,必须以test开头,对象方法,且无返回值,无参数

4.在测试方法中,根据具体情况,使用XCTAssert...方法对被测试类内部的要测试的方法进行断言

5.无需运行程序,直接点击方法左边的圆形按钮,就可执行测试方法

bubuko.com,布布扣



新建一个测试方法


bubuko.com,布布扣


点击测试方法左边的三角形按钮,开始测试

bubuko.com,布布扣

测试结果为红色,原因是工具类还没实现方法

bubuko.com,布布扣


再次点击方法左侧的三角形按钮,执行测试

bubuko.com,布布扣

修正工具类的方法后,再次执行测试,结果为绿色

bubuko.com,布布扣


创建自定义测试类

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣


点击测试方法,左侧的执行按钮,开始测试

bubuko.com,布布扣

红色表示 测试出错

bubuko.com,布布扣

绿色表示测试正确

bubuko.com,布布扣


//
//  _0_____Tests.m
//  30_单元测试Tests
//
//  Created by beyond on 14-9-5.
//  Copyright (c) 2014年 com.beyond. All rights reserved.
//  只要继承自 XCTestCase,本类就具备了单元测试的功能

#import <XCTest/XCTest.h>
// 1.先导入要测试的类
#import "MathTool.h"
@interface _0_____Tests : XCTestCase

@end

@implementation _0_____Tests

- (void)setUp
{
    [super setUp];
    // 本类中每一个测试方法 开始之前,都会运行 该setUp方法
}

- (void)tearDown
{
    // 本类中每一个测试方法 结束之前,都会运行 该tearDown方法

    
    
    [super tearDown];
}
// 测试方法,必须以textXxx开头,且是对象方法,且无返回值,且无参数
- (void)testSum
{
    XCTAssertEqual(13, [MathTool sumWithA:6 andB:7], @"求和方法有错~");
}
- (void)testExample
{
    XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
}

@end



//
//  GirlTest.m
//  30_单元测试
//
//  Created by beyond on 14-9-5.
//  Copyright (c) 2014年 com.beyond. All rights reserved.
//  自定义单元测试类,只要继承自 XCTestCase,本类就具备了单元测试的功能

#import <XCTest/XCTest.h>
// 专门测试 GirlFactory 里面的方法
#import "GirlFactory.h"
@interface GirlTest : XCTestCase

@end

@implementation GirlTest

- (void)setUp
{
    [super setUp];
    // 本类中每一个测试方法 开始之前,都会运行 该setUp方法
    
    
}

- (void)tearDown
{
    // 本类中每一个测试方法 结束之前,都会运行 该tearDown方法
    
    
    [super tearDown];
}

// 测试方法,必须以textXxx开头,且是对象方法,且无返回值,且无参数
- (void)testGirlFactory
{
    XCTAssertNotNil([GirlFactory girl], @"女朋友工厂出错,无法生产女朋友了~");
}


- (void)testExample
{
    XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
}

@end





iOS_30_单元测试

标签:测试   单元测试   ios   

原文地址:http://blog.csdn.net/pre_eminent/article/details/39077279

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!