准备测试工具
这里选用的是XCTest,它是Xcode8中内置的测试框架,使用起来非常简单,分以下两种情况为项目添加测试:
1. 新建工程时添加单元测试:
新建时添加单元测试
2.为已有工程添加单元测试
Xcode8中添加的步骤与前几代有所不同:
添加Target
用关键词test快速找到Unit Testing bundle
添加好单元测试后的工程结构
添加第一个测试
第一个测试是很重要的,它决定了我们后面测试的思路和方向,这里以需要什么测什么为指导原则,从结果出发,所以先来看下基本的点播需求:
工作日点播一部普通影片,收费2元,积一分。
根据以上需求描述,我们在RefactorDemoTests.m添加测试方法:
- (void)testStatement_Regular { Movie *matrixMovie1 = [[Movie alloc] initWithTitle:@"黑客帝国1" priceCode:MovieEnumRegular]; Demand *aDemand1 = [[Demand alloc] initWithMovie:matrixMovie1 timePeriod:TimePeriodEnumWorkDaytime];
// 顾客租赁一部:
XCTAssertTrue([@"溪石的点播清单\\\\n" } |
这个测试用例中,顾客“溪石”点播了一部老片《黑客帝国1》,由于是工作日,因此按原价收取,并积1分,详细细节看Cutomer类源码中的方法statement()。 按快捷键?U,运行测试,发现测试报错了:
原文转自:http://www.jianshu.com/p/0b4fd636ad2c