添加测试方法
根据 Apple 的说法:
测试方法
测试方法是测试类的实例方法,以前缀 test 开头,不带参数,并返回 void,例如(void)
testColorIsRed()
。测试方法在项目中执行代码,如果该代码未产生预期结果,则使用一组断言 API 报告失败。例如,函数的返回值可能会与期望值进行比较,或者你的测试可能断言在某个类中不正确地使用方法会引发异常。
所以我们使用 test
作为方法的前缀添加一个测试方法,如:
迅速
func testSomething() {
}
Objective-C
- (void)testSomething {
}
为了实际测试结果,我们使用 XCTAssert()
方法,它采用布尔表达式,如果为 true,则将测试标记为成功,否则将标记为失败。
假设我们在 View Controller 类中有一个名为 sum()
的方法,它计算两个数字的总和。为了测试它,我们使用这种方法:
迅速
func testSum(){
let result = viewController.sum(4, and: 5)
XCTAssertEqual(result, 9)
}
Objective-C
- (void)testSum {
int result = [viewController sum:4 and:5];
XCTAssertEqual(result, 9);
}
注意
默认情况下,如果首先在 Storyboard 文件中创建 View Controller 类的标签,文本框或其他 UI 项,则无法从测试类访问它们。这是因为它们是在 View Controller 类的
loadView()
方法中初始化的,并且在测试时不会调用它。调用loadView()
和所有其他必需方法的最佳方法是访问viewController
属性的view
属性。你应该在测试 UI 元素之前添加此行:
XCTAssertNotNil(viewController.view)