美文网首页
XCode单元测试

XCode单元测试

作者: younger_times | 来源:发表于2017-11-02 17:48 被阅读197次

[TOC]

新建

  1. 新建项目时,勾选 include Unit Tests
  2. 新建:File --> new --> target --> iOS --> iOS Unit Testing Bundle
  • iOS UI Testing Bundle : 对UI界面的调试
  • iOS Unit Testing Bundle: 功能逻辑的测试

此方法在此类的其他方法之前被调用

- (void)setUp {
    [super setUp];
    // Put setup code here. This method is called before the invocation of each test method in the class.
}

此方法在此类的其他方法之后被调用

- (void)tearDown {
    // Put teardown code here. This method is called after the invocation of each test method in the class.
    [super tearDown];
}

这是一个功能测试用例的例子。使用XCTAssert和相关函数来验证您的测试产生正确的结果。

- (void)testExample {
    // This is an example of a functional test case.
    // Use XCTAssert and related functions to verify your tests produce the correct results.
}

测试性能的例子

- (void)testPerformanceExample {
    // This is an example of a performance test case.
    [self measureBlock:^{
        // Put the code you want to measure the time of here.
    }];
}

使用

YKHomeVC.h/m 有一个load()方法

-(NSUInteger)load{
    return 1+2;
}

在测试文件中导入YKHomeVC.h

#import "YKHomeVC.h"

@interface ExplorerTests : XCTestCase
@property(nonatomic,strong)YKHomeVC *homeVc;
@end

- (void)setUp {
    [super setUp];
    self.homeVc = [[YKHomeVC alloc]init];
    
    
}

- (void)tearDown {
    self.homeVc = nil;
    [super tearDown];
}

- (void)testExample {
   NSInteger value = [self.homeVc load];

   //如果不相等为false,抛出异常
    XCTAssertEqual(value,4,@"计算失败");
}

性能测试

在block里面执行代码块,将会得到耗时时间等

断言

XCTAssertNil(expression, ...)

当得到的值不为空时,生成一个错误引发异常

NSString a = @"hello";
XCTAssertNil(a,@"错误");

XCTAssertNotNil(expression, ...)

当得到的值为空时,生成一个错误引发异常

NSString a = nil;
XCTAssertNotNil(a,@"错误");

XCTAssert(expression, ...)

当得到的值为false时,生成一个错误引发异常

Boolean a = false;
XCTAssert(a,@"错误");

XCTAssertTrue(expression, ...)

当得到的值为false时,生成一个错误引发异常

Boolean a = false;
XCTAssertTrue(a,@"错误");

XCTAssertFalse(expression, ...)

当得到的值为true时,生成一个错误引发异常

Boolean a =true;
XCTAssertTrue(a,@"错误");

XCTAssertEqualObjects(expression1, expression2, ...)

当两个对象不相等时,生成一个错误引发异常,类型为id类型

Boolean a =true;
Boolean b = false;
XCTAssertEqualObjects(a,b,@"错误");

XCTAssertNotEqualObjects(expression1, expression2, ...)

当两个对象相等时,生成一个错误引发异常,类型为id类型

Boolean a =true;
Boolean b =true;
XCTAssertNotEqualObjects(a,b,@"错误");

XCTAssertEqual(expression1, expression2, ...)

当两个对象不相等时,生成一个错误引发异常,两个类型为C类型

Boolean a =true;
Boolean b =true;
XCTAssertEqual(a,b,@"错误");

XCTAssertNotEqual(expression1, expression2, ...)

当两个对象相等时,生成一个错误引发异常,两个类型为C类型

Boolean a =true;
Boolean b =true;
XCTAssertNotEqual(a,b,@"错误");

XCTAssertEqualWithAccuracy(expression1, expression2, accuracy, ...)

当accuracy的精度值小于等于 expression1与expression2的区间范围,生成一个错误引发异常,,两个类型为C类型


XCTAssertNotEqualWithAccuracy(expression1, expression2, accuracy, ...)

当accuracy的精度值大于 expression1与expression2的区间范围,生成一个错误引发异常,,两个类型为C类型


XCTAssertGreaterThan(expression1, expression2, ...)

当 exc1 小于等于exc2时,生成一个错误引发异常,两个类型为C类型


XCTAssertGreaterThanOrEqual(expression1, expression2, ...)

当 exc1 小于exc2时,生成一个错误引发异常,两个类型为C类型


XCTAssertLessThan(expression1, expression2, ...)

当 exc1 大于等于exc2时,生成一个错误引发异常,两个类型为C类型


XCTAssertLessThanOrEqual(expression1, expression2, ...)

当 exc1 大于exc2时,生成一个错误引发异常,两个类型为C类型


XCTAssertThrows(expression, ...)

当exp1不是异常时,生成一个错误引发异常,类型为expression


XCTAssertThrowsSpecific(expression, exception_class, ...)

当exp1不是exp2异常类时,生成一个错误引发异常,类型为expression


XCTAssertThrowsSpecificNamed(expression, exception_class, exception_name, ...)

当exp1不是exp2异常类且异常名时,生成一个错误引发异常,类型为expression


XCTAssertNoThrow(expression, ...)

当exp是异常时,生成一个错误引发异常,类型为expression


XCTAssertNoThrowSpecific(expression, exception_class, ...)

当exp是某个异常类时,生成一个错误引发异常,类型为expression


XCTAssertNoThrowSpecificNamed(expression, exception_class, exception_name, ...)

当exp是某个异常类且名称相同时,生成一个错误引发异常,类型为expression


相关文章

网友评论

      本文标题:XCode单元测试

      本文链接:https://www.haomeiwen.com/subject/wmrapxtx.html