添加测试方法

根据 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)