mcpField
T
testing

testing

github.com/rshankras测试与质量841472 次安装14 周前更新
代码仓库

关于 testing

面向 Apple 平台应用的 Claude Code 技能集合,涵盖 TDD 工作流和测试基础设施,适用于新旧代码库,从复现缺陷、保护重构到测试脚手架和确定性检查。

主要功能

  1. 01功能与缺陷的红绿重构工作流
  2. 02特征测试与重构保护
  3. 03契约测试和集成测试脚手架
  4. 04快照测试与测试数据工厂
  5. 05架构、覆盖率和变异检查

适用场景

  1. 01在新代码库中通过 TDD 开发功能
  2. 02修复前复现缺陷
  3. 03重构时保护现有行为
  4. 04设置项目专属的架构和覆盖率门槛

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rshankras/claude-code-apple-skills --skill testing

安装后在 Claude Code 中输入/testing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

coverage-ratchet/templates/
coverage-gate.sh
crap-report.sh
fitness-functions/templates/
ContractPinTests.swift
ImportBoundaryTests.swift
NetworkSentinelTests.swift
mutation-testing/templates/
muter.conf.yml
tdd-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/ 实验性、仅供参考的变异测试工具设置,仅针对引擎目标——存活的变异体可揭示已覆盖但未断言的代码。绝不可作为合并门槛;包含手动故意破坏的备用方案。

使用方法

  1. 确认用户处理的是新代码还是现有代码
  2. 阅读相关技能的 SKILL.md,了解详细工作流
  3. 检测项目上下文(测试框架、架构、现有测试)
  4. 按照技能的工作流生成测试
  5. 验证测试能够编译并运行

与 test-generator 的关系

generators/test-generator/ 技能用于生成测试样板代码(单元测试、集成测试、UI 测试)。这些测试技能相辅相成——它们关注的是工作流和方法论(TDD 循环、特征测试、契约),而不只是生成测试文件。

交叉参考:

  • 要“为这个类添加测试”,请使用 test-generator
  • 要“通过 TDD 开发这个新功能”,请使用 testing/tdd-feature
  • 要“安全地重构这个代码”,请使用 testing/characterization-test-generator
  • 要“修复这个 Bug 并确保它不会再出现”,请使用 testing/tdd-bug-fix

评论

支持 Markdown