SuperAPI AI 工具集

testing-swift

测试与质量

查看项目

更新于 10-16 11:31

技能介绍

用途

Testing Swift 是一套围绕 Swift Testing 测试框架的说明与示例集合,用于指导开发者在新项目中使用 Swift Testing 编写测试,并替代 XCTest。

主要能力

资料覆盖以下写法与能力:

  • 使用 @Test 声明测试函数,使用 #expect 进行断言。
  • 使用 @Suite 的 struct 或 actor 组织测试,并通过 init/deinit 替代 XCTest 的 setUp/tearDown。
  • 参数化测试:通过 arguments: 传入元组数组或枚举的 allCases。
  • 期望表达式:相等、布尔、Optional、抛出错误、指定错误类型与指定错误内容、以及不抛出错误(Never.self)。
  • 使用 try #require 解包 Optional 或在条件不满足时使测试失败。
  • 异步测试:async throws 测试函数,以及 @Test(.timeLimit(...)) 限制运行时间。
  • 测试 @Observable 模型:读取并断言模型状态,异步加载后断言列表与加载标志。
  • 事件与回调确认:使用 confirmation,可指定 expectedCount。
  • 测试特征:.disabled、.bug、.timeLimit、.tags,以及自定义 Tag。

使用方式

资料以代码示例呈现具体写法,例如基本测试中导入 Testing,定义 @Test 函数并使用 #expect 断言;@Suite 示例中在 init 中初始化被测对象;参数化测试示例以字符串、布尔值或枚举作为参数;异步与模型测试示例展示 await 与断言组合;confirmation 示例展示回调触发后的确认。

资料同时给出 XCTest 与 Swift Testing 的迁移对照表,包括测试类声明、测试函数命名、断言方法、Optional 解包、错误断言、setUp/tearDown 与 XCTSkip 的对应写法。

适用场景

适用于 Swift 项目中的单元测试与异步行为测试,包括对值类型/引用类型逻辑的断言、对 @Observable 状态变化的验证、对回调与事件次数的确认,以及从 XCTest 迁移到 Swift Testing 的场景。

限制

资料未说明支持的最低 Swift 版本、平台要求、安装或依赖配置方式,也未提供与具体项目构建系统的集成细节,这些内容暂未提供。