# 单元测试

URL: https://caijiao.org/swift/15-advanced-practice/03-testing
Source: docs/swift/15-advanced-practice/03-testing.md
Description: 本章节介绍 Swift 单元测试的基本概念和实践方法，包括 XCTest 框架使用、测试用例编写和测试运行，提升代码质量与稳定性。

单元测试是软件开发中验证代码功能正确性的重要手段，Swift 使用 XCTest 框架进行测试。

## XCTest 框架简介

XCTest 是 Apple 官方提供的测试框架，支持编写和运行测试用例。

- 测试类继承自 `XCTestCase`。
- 测试方法以 `test` 开头。
- 支持断言方法，如 `XCTAssertEqual`、`XCTAssertTrue`。

## 编写测试用例

示例：

```swift
import XCTest
@testable import YourAppModule

class TodoTests: XCTestCase {

    func testTodoInitialization() {
        let todo = TodoItem(title: "测试任务")
        XCTAssertEqual(todo.title, "测试任务")
        XCTAssertFalse(todo.isCompleted)
    }

    func testMarkCompleted() {
        var todo = TodoItem(title: "任务")
        todo.isCompleted = true
        XCTAssertTrue(todo.isCompleted)
    }
}
````

## 运行测试

* Xcode 中使用快捷键 `Cmd + U` 运行所有测试。
* 测试结果会显示通过或失败，并指出错误位置。

## 测试最佳实践

* 保持测试独立，避免相互影响。
* 覆盖关键业务逻辑和边界条件。
* 定期执行测试，确保代码稳定。

## 小结

通过编写单元测试，能有效发现并修复代码缺陷，提高项目质量和可维护性。
