xcode 5 使用 XCTest 做单元测试
什么是单元测试,请看 百度百科 单元测试
一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试;如今在xcode5,我们新建立的项目默认就已经集成了单元测试和ARC;
xcode5 之后集成的单元测试框架 XCTest.framework
如图,我们用xcode5 新建立一个 名为 StudengManager 的空项目
- 项目新增加框架 XCTest.framework
- 项目新增加组 XXXX项目名Test组
- 新增加 xxxxxTest.m
- Test.m测试文件没有 .h文件,并且 继承 XCTestCase 类;
项目新建立好之后,我可以用 快捷键 com + u (或是 导航条 --> product --> test) 来启动测试;
如图:出错了,那是默认的,需要开发者 自己实现 相应的 - (void)test开关的方法;
二:有兴趣的可以打开 XCTest.framework 先看一下该框架为我们提供的测试用的api;
如下一些基本的api的使用;
1:如图,我们在项目里添加一个Student类,里面包含 姓名,年龄、是否是男孩 三个属性
2:把 Studen引入到 Test.m文件中使用;
- (void)testExample { //创建两个学生对象,并初始化一些属性; Student *stu1 = [Student new]; Student *stu2 = [Student new]; stu1.name = @"Mike"; stu1.age = 18; stu1.isBoy = YES; stu2.name = @"Lisa"; stu2.age = 18; stu2.isBoy = NO; //测试 是否为 nil Student *stu3 = [Student new]; stu3.isBoy = YES; //当姓名为nil时,错误会提示,并显示后面的log XCTAssertNotNil(stu3.name, @"学生3的姓名不应该为空"); }
这里:
3:XCTAssertTrue和XCTAssertFalse
4:XCTAssertEqual使用
5:你可以建立自己的测试类 ,但要继承 XCTestCase; 并且里面测试方法要是 - (void)test 且以 test开头的;当没有错误 的时候,就会全部变成绿色;
控制台会打印信息:
6:还有关于 TDD 测试驱动开发,请谷歌之!