- 编写单元测试代码:
- 首先,创建一个新的测试目标(如果项目中还没有的话)。在Xcode中,选择
File
-> New
-> Target
,然后选择iOS
-> Test
-> Unit Testing Bundle
。
- 假设你的项目名称是
MyProject
,测试目标名称是MyProjectTests
。打开MyProjectTests.swift
文件,编写如下测试代码:
import XCTest
@testable import MyProject
class MyProjectTests: XCTestCase {
func testAddNumbers() {
let result = addNumbers(a: 3, b: 5)
XCTAssertEqual(result, 8)
}
}
- 常用断言的作用:
XCTAssertEqual
:
- 作用:用于判断两个值是否相等。在上述代码中,
XCTAssertEqual(result, 8)
检查 addNumbers
函数返回的 result
值是否等于 8
。如果相等,测试通过;如果不相等,测试失败,并在Xcode的测试报告中显示失败信息。它有多个重载版本,可以用于比较不同类型的值,如整数、浮点数、字符串等。对于浮点数比较,还可以指定容差(tolerance),以处理由于浮点数精度问题导致的微小差异。
XCTAssertTrue
:用于判断一个布尔表达式是否为 true
。例如,XCTAssertTrue(5 > 3)
会检查 5 > 3
这个表达式是否为 true
,如果为 true
,测试通过,否则失败。
XCTAssertFalse
:与 XCTAssertTrue
相反,用于判断一个布尔表达式是否为 false
。例如,XCTAssertFalse(3 > 5)
会检查 3 > 5
这个表达式是否为 false
,如果为 false
,测试通过,否则失败。
XCTFail
:无条件使测试失败,并可以提供一个失败信息。例如,XCTFail("This test should not reach this point")
,当执行到这行代码时,测试立即失败,并显示指定的失败信息。