美文网首页2018技术笔记
2018笔记——单元测试

2018笔记——单元测试

作者: 满庭花醉三千客 | 来源:发表于2018-07-28 10:57 被阅读8次

之前对单元测试没什么概念,今天研究之,发现用途广泛啊。

第一步:

创建项目时勾选(Include Unit Tests, Include UI Tests)这两项。

屏幕快照 2018-03-02 下午4.53.06.png

如果没有勾选,那也没关系,项目内可以添加,File-New-Target

屏幕快照 2018-03-02 下午1.44.13.png

然后添加Test栏中的两项即可:

屏幕快照 2018-03-02 下午1.43.42.png

第二步:

创建测试文件,Command N,选择Unit Test Case Class

屏幕快照 2018-03-02 上午9.12.25.png

然后创建一个XCTestCase的对象

屏幕快照 2018-03-02 上午9.09.19.png

我们新建一个文件,继承于NSObject的PersonModel:

#import <Foundation/Foundation.h>

@interface PersonModel : NSObject

/**

*  用户名

**/

@property (nonatomic, copy) NSString *userName;

/**

*  年龄

**/

@property (nonatomic, assign) NSInteger age;

/**

*  性别 0girl  1boy

**/

@property (nonatomic, assign) NSInteger sexCode;

- (BOOL)isGoodStudent;

@end

一个isGoodStudent方法,判断用户名长度大于0,年龄大于3,小于100,性别为1.

接下来前往MyTest.m中编写测试方法(需要以test开头):

屏幕快照 2018-03-02 下午4.49.31.png

点击方法前面的勾号即可编译,如果想对所有的测试方法编译,command U即可。

还有其他断言:

- (void)testDifferentAssert//(全部通过的测试)

{

    BOOL isFaile = NO;

    if (isFaile) {

        XCTFail("生成失败的测试");//生成一个失败的测试

    }

    NSString *nilString = nil;

    XCTAssertNil(nilString,"空对象,才能通过测试");

    NSString *notNilString = @"123";

    XCTAssertNotNil(notNilString,"非空对象,才能通过测试");

    BOOL oneBool = YES;

    XCTAssert(oneBool,"结果为true,才能通过测试");

    BOOL twoBool = YES;

    XCTAssertTrue(twoBool,"结果为true,才能通过测试");

    BOOL threeBool = NO;

    XCTAssertFalse(threeBool,"结果为false,才能通过测试");

    NSArray *arrOne = [NSArray arrayWithObjects:@"123", nil];

    NSArray *arrTwo = arrOne;

    XCTAssertEqual(arrOne, arrTwo,"二者相同,才能通过测试");

    NSString *oneString = @"aaa";

    NSString *twoString = @"aaabbb";

    XCTAssertNotEqual(oneString, twoString,"二者不相同,才能通过测试");

    CGFloat aValue = 5;

    CGFloat bValue = 6;

    XCTAssertEqualWithAccuracy(aValue, bValue, 10,"二者差值在10(accuracy)内,才能通过测试");

    CGFloat cValue = 5;

    CGFloat dValue = 100;

    XCTAssertNotEqualWithAccuracy(cValue, dValue, 10,"二者误差不在10(accuracy)内,才能通过测试");

    NSArray *arrThree = @[@"111"];

    XCTAssertThrows([arrThree objectAtIndex:10],"发生异常时,才能通过测试");

    NSMutableArray *arrFour = [NSMutableArray array];

    XCTAssertNoThrow([arrFour addObject:@"ssd"],"无异常,才能通过测试");

}

部分未通过的效果:


屏幕快照 2018-03-02 下午4.44.59.png 屏幕快照 2018-03-02 下午4.45.28.png

很好很强大,加油~~

相关文章

  • 【单元测试】

    Android学习笔记:对Android应用进行单元测试关于Android单元测试,你需要知道的一切Android...

  • VUE常用笔记

    VUE笔记 开启项目 运行 编译 单元测试 Lints and fixes files 页面常用

  • 2020-05-27 做十件事,不如做精一件事

    【目标回顾】: ? 练习册讲解&批改 完成 ? 四单元测试 完成 ? 笔记 完成 ?...

  • 简洁代码--单元测试

    代码整洁之道笔记 [TOC] 单元测试 测试驱动开发 TDD三定律 在编写不能通过的单元测试前,不能编写生产代码。...

  • 汇丰面试题汇总

    单元测试 http://xietao3.com/2018/12/TestingTutorial/[http://x...

  • 2018笔记——单元测试

    之前对单元测试没什么概念,今天研究之,发现用途广泛啊。 第一步: 创建项目时勾选(Include Unit Tes...

  • C++代码整洁之道1:单元测试的重要性

    以下为《C++代码整洁之道》阅读笔记 注重单元测试 重要性就不多说了,防患于未然,构建大型系统尤其需要进行单元测试...

  • 单元测试&依赖注入

    本文仅为学习笔记;不是原创文章; 参考资料1参考资料2 一:单元测试基本概念 概念:单元测试,是为了测试某一个类的...

  • Node.js笔记六:单元测试

    Node.js笔记六:单元测试 源码github地址在此,记得点星:https://github.com/bran...

  • 单元测试基本配置

    兼容es6的mocha单元测试项目配置 笔记 test/xx.js中,describe, it中function使...

网友评论

    本文标题:2018笔记——单元测试

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