Swift Academy · 课时

XCTest 基础(目标、测试夹具)

在 Swift 软件包或 Xcode 项目中设置 XCTest 目标,编写测试用例,并使用 setUp / tearDown 管理 测试夹具 。

第 1 / 2 课8 个步骤

XCTest 基础(目标、测试夹具) 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 1 节课,共 2 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 2 节课。

Swift 单元测试入门

Swift 使用单元测试框架进行单元测试。创建测试目标,继承 XCTestCase,并编写以 test 开头的方法。

基本测试方法

测试用例是 XCTestCase 的子类。每个测试方法都必须以 test 开头,并使用断言。

import XCTest

final class MathTests: XCTestCase {
    func testAdd() {
        XCTAssertEqual(2 + 2, 4)
    }
}

断言

常用断言:

  • XCTAssertTrue、XCTAssertFalse
  • XCTAssertEqual、XCTAssertNotEqual
  • XCTAssertNil、XCTAssertNotNil

测试装置示例

使用 setUp()/tearDown(),在每个测试之前和之后准备并清理状态。

final class FixtureTests: XCTestCase {
    var numbers: [Int]!
    override func setUp() {
        super.setUp()
        numbers = [1,2,3]
    }
    override func tearDown() {
        numbers = nil
        super.tearDown()
    }
    func testCount() {
        XCTAssertEqual(numbers.count, 3)
    }
}

运行测试

运行测试:

  • swift test(SwiftPM)
  • 开发工具:产品 → 测试(⌘U)
  • 持续集成:在流水线中集成 xcodebuild test 或 swift test

结构设计建议

建议:

  • 为测试方法使用能描述其用途的名称。
  • 将相关测试分组到文件或类中。
  • 让每个测试保持独立。
  • 谨慎使用测试装置:可能时优先采用明确的设置步骤。

测试装置问题

快速检查:哪些方法用于在测试前后准备和清理状态?

回顾

回顾:继承 XCTestCase,编写 test* 方法,使用断言,并通过 setUp/tearDown 管理测试装置。

免费开始

用 AI 导师学习 Swift — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
122
课程
409

常见问题解答

「XCTest 基础(目标、测试夹具)」课时是免费的吗?

是的 — 「XCTest 基础(目标、测试夹具)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 2 节课。

「XCTest 基础(目标、测试夹具)」这节课中我会学到什么?

在 Swift 软件包或 Xcode 项目中设置 XCTest 目标,编写测试用例,并使用 setUp / tearDown 管理 测试夹具 。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 2 节。

「XCTest 基础(目标、测试夹具)」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. XCTest 基础(目标、测试夹具)
  2. 日志记录、assert/precondition/fatalError
← 返回 Swift Academy