关于 testing
面向 Apple 平台应用的 Claude Code 技能集合,涵盖 TDD 工作流和测试基础设施,适用于新旧代码库,从复现缺陷、保护重构到测试脚手架和确定性检查。
主要功能
- 01功能与缺陷的红绿重构工作流
- 02特征测试与重构保护
- 03契约测试和集成测试脚手架
- 04快照测试与测试数据工厂
- 05架构、覆盖率和变异检查
适用场景
- 01在新代码库中通过 TDD 开发功能
- 02修复前复现缺陷
- 03重构时保护现有行为
- 04设置项目专属的架构和覆盖率门槛
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ rshankras/ claude-code-apple-skills --skill testing安装后在 Claude Code 中输入/testing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
coverage-ratchet/templates/coverage-gate.shcrap-report.shfitness-functions/templates/ContractPinTests.swiftImportBoundaryTests.swiftNetworkSentinelTests.swiftmutation-testing/templates/muter.conf.ymltdd-feature/rules/swiftlint.yml详细介绍
测试与 TDD 技能
适用于 Apple 平台应用的测试驱动开发工作流和测试基础设施。既适用于新代码库,也适用于现有代码库。
此技能的适用场景
在以下情况下使用此技能:
- 用户想用 AI 生成的代码进行 TDD(测试驱动开发)
- 需要在重构现有代码之前添加测试
- 用户想通过红-绿-重构循环修复 Bug
- 需要测试基础设施(工厂、模拟对象、契约)
- 用户询问快照测试/视觉回归测试
- 用户想通过测试确保 AI 生成的代码正确
- 用户想为 Agent 编写的代码设置确定性门槛(架构不变量、覆盖率下限、变异审计)
可用技能
适用于现有代码库
characterization-test-generator/ 在重构之前记录现有代码的当前行为。生成测试,用于说明代码实际上会做什么(而非它应该做什么),为 AI 辅助重构提供安全网。
tdd-bug-fix/ 先复现再修复 Bug 的工作流。先编写一个能证明 Bug 存在的失败测试,然后修复 Bug。确保 Bug 不会再次出现——这对 AI 生成的修复至关重要。
tdd-refactor-guard/ 重构前的安全检查清单。允许 AI 修改现有代码之前,先确认测试覆盖率已到位,避免出现“没有安全网就重构”的问题。
适用于新代码
tdd-feature/ 用于新功能的红-绿-重构脚手架。先生成失败测试,再引导实现使测试通过,最后进行重构。这是核心 TDD 工作流。
test-contract/ 协议/接口测试套件。定义契约(例如,“任何 DataStore 都必须处理空状态、单个条目、100 个条目和错误”),然后生成任何实现都必须通过的测试套件。
基础设施
snapshot-test-setup/ 使用 swift-snapshot-testing 进行 SwiftUI 视觉回归测试。生成快照测试样板代码、配置和 CI 集成。
test-data-factory/ 为模型创建测试数据工厂。通过省去样板数据设置,加快编写测试的速度。支持 Builder 模式和静态工厂方法。
integration-test-scaffold/ 跨模块测试框架,包含模拟服务、内存存储和测试配置。用于将网络、持久化和业务逻辑结合起来进行测试。
flow-walkthrough/ 在 Simulator 中逐个运行用户流程(XCUITest + 每步截图)、审查导航图中的死路,并进行人工可发现性检查。
确定性门槛
fitness-functions/ 架构适应度函数——在项目自身的测试目标中强制执行项目硬性规则(模块导入边界、离线保证、数量/文案契约)的测试。将文字约束转化为退出码。
coverage-ratchet/ 只升不降的覆盖率下限:提交一个基线,应用目标的行覆盖率不得低于该基线,并通过生成的 xccov 脚本进行门控。还包含一份供参考的 CRAP 报告(复杂度 × 未覆盖)。
mutation-testing/ 实验性、仅供参考的变异测试工具设置,仅针对引擎目标——存活的变异体可揭示已覆盖但未断言的代码。绝不可作为合并门槛;包含手动故意破坏的备用方案。
使用方法
- 确认用户处理的是新代码还是现有代码
- 阅读相关技能的 SKILL.md,了解详细工作流
- 检测项目上下文(测试框架、架构、现有测试)
- 按照技能的工作流生成测试
- 验证测试能够编译并运行
与 test-generator 的关系
generators/test-generator/ 技能用于生成测试样板代码(单元测试、集成测试、UI 测试)。这些测试技能相辅相成——它们关注的是工作流和方法论(TDD 循环、特征测试、契约),而不只是生成测试文件。
交叉参考:
- 要“为这个类添加测试”,请使用
test-generator - 要“通过 TDD 开发这个新功能”,请使用
testing/tdd-feature - 要“安全地重构这个代码”,请使用
testing/characterization-test-generator - 要“修复这个 Bug 并确保它不会再出现”,请使用
testing/tdd-bug-fix