上了软件测试这门课以后开始动手实践软件测试的方法,由于个人更偏重于ios开发,于是开始对ios平台的软件测试技术进行研究
苹果在2014年在自身开发工具xcode上集成了新的单元测试工具XCTest。
一、先来谈谈什么是单元测试
单元测试指的是在对程序最基本的单元,例如一个函数、菜单、界面等最小可执行单元进行测试的过程。
二、XCTest框架
1.整体看怎么用它
用法很简单,说白了 就是实现一个XCTest的子类就可以
例如:创建first_Test测试类
@interface first_Test : XCTest
其中有两个必须实现的函数
-(void)setUp;
-(void)tearDown;
分别是代表测试开始和测试结束,是两个回调函数,在这进行变量初始化
2.第一个测试
在first_Test.m测试类头部导入一个需要测试的类target
#import "target.h"
并在first_Test.m中新加一个测试方法 -(void)testExample{...},测试方法要用test开头
然后自己写一小段代码在这个方法里面进行测试。
这里我们故意构造一个错误的方法,因为carid不会等于100,所以这里抛出错误
我们看到XCTAssertEqual(...)是个断言语句,编译器在这里进行判断。
XCTest框架主要由各种断言组成,方便对结果的判断
3.常用断言语句
XCTFail(...) //到这一定报错
XCTAssertNil(expression, ...) //如果是空就报错
XCTAssert(expression, ...)
XCTAssertTrue(expression, ...)
XCTAssertEqualObjects(expression1, expression2, ...) //判断是否相等
XCTAssertEqual(expression1, expression2, ...) //判断是否相等
三、思考
我觉得单元测试的好处很多
测试一个函数的可用性不用每次把整个程序重新运行一遍,节约了很多的时间。
多做单元测试可以保证程序的健壮性,而且能养成防御性编程的好习惯