iOS测试最佳实践Skill ios-testing

本技能提供了针对iOS 26和Swift 6.2的诊所模块化MVVM-C应用程序的全面测试指南,涵盖单元测试、UI测试、快照测试、协议模拟、异步参与者隔离和依赖注入测试架构。适用于开发者和测试工程师编写、审查或重构iOS和Swift模块的测试,关键词包括iOS测试、Swift测试、单元测试、UI测试、快照测试、MVVM-C、依赖注入、异步测试、测试架构。

测试 0 次安装 0 次浏览 更新于 3/18/2026

name: ios-testing description: 针对iOS 26和Swift 6.2的诊所模块化MVVM-C应用程序的测试实践。涵盖单元测试、UI测试、快照测试、基于协议的模拟、异步参与者隔离和依赖注入测试架构,与Domain协议、App目标组合和Data拥有的I/O边界对齐。在编写、审查或重构ios-*和swift-*诊所模块的测试时使用。

iOS测试最佳实践

针对iOS和Swift应用程序的全面测试指南,撰写于首席工程师级别。包含8个类别中的44条规则,按影响优先排序,以指导测试架构决策、测试编写模式和CI基础设施。

诊所架构合约(iOS 26 / Swift 6.2)

本技能中的所有指导都假设诊所模块化MVVM-C架构:

  • 功能模块仅导入Domain + DesignSystem(从不导入Data,从不导入同级功能)
  • App目标是汇聚点,拥有DependencyContainer、具体协调器和Route Shell接线
  • Domain保持纯Swift并定义模型以及存储库、*CoordinatingErrorRoutingAppError合约
  • Data拥有SwiftData/网络/同步/重试/后台I/O并实现Domain协议
  • 读/写流默认使用陈旧-同时重新验证读取和乐观排队写入
  • ViewModels直接调用存储库协议(无默认用例/交互层)

何时应用

在以下情况下参考这些指南:

  • 为iOS应用程序编写新的单元测试或UI测试
  • 设计具有依赖注入的可测试架构
  • 测试async/await、参与者和Combine发布者
  • 设置快照测试或视觉回归套件
  • 配置CI流水线、测试计划和并行执行

按优先级分类的规则类别

优先级 类别 影响 前缀
1 测试架构与可测试性 关键 arch-
2 单元测试基础 关键 unit-
3 测试替身与隔离 mock-
4 异步与并发测试 async-
5 SwiftUI测试 中高 swiftui-
6 UI与验收测试 ui-
7 快照与视觉测试 snap-
8 测试可靠性与CI 低中 ci-

快速参考

1. 测试架构与可测试性(关键)

2. 单元测试基础(关键)

3. 测试替身与隔离(高)

4. 异步与并发测试(高)

5. SwiftUI测试(中高)

6. UI与验收测试(中)

7. 快照与视觉测试(中)

8. 测试可靠性与CI(低中)

如何使用

阅读单独的参考文件以获取详细解释和代码示例:

参考文件

文件 描述
references/_sections.md 类别定义和排序
assets/templates/_template.md 新规则模板
metadata.json 版本和参考信息