mcpField
E
engram-testing-coverage

engram-testing-coverage

github.com/gentleman-programming测试与质量7.7k98 次安装今天更新
代码仓库

关于 engram-testing-coverage

engram-testing-coverage 是面向新增行为、修复缺陷或重构复杂逻辑的测试技能,规定 TDD 流程以及本地和 CI 验证证据的要求。

主要功能

  1. 01先写失败测试的 TDD 流程
  2. 02覆盖成功路径与边界情况
  3. 03优先采用确定性测试
  4. 04本地聚焦回归测试
  5. 05CI 证据记录与报告指引

适用场景

  1. 01为新增行为编写测试
  2. 02复现并修复缺陷
  3. 03重构含分支逻辑的代码
  4. 04记录拉取请求的验证情况

安装

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

$npx skills add https://github.com/gentleman-programming/engram --skill engram-testing-coverage

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

详细介绍

适用场景

在以下情况下使用此技能:

  • 添加新行为
  • 修复错误
  • 重构分支复杂度较高的逻辑

TDD 循环

  1. 为目标行为编写一个会失败的测试。
  2. 编写最少量的代码使测试通过。
  3. 在保持测试通过的同时进行重构。
  4. 完成前添加边界情况和错误路径测试。

覆盖规则

  • 覆盖正常路径、错误路径和边界情况。
  • 优先选择确定性测试,而不是不稳定的集成路径。
  • 仅在无法通过自然方式触发分支时添加接缝。
  • 添加接缝时,保持运行时行为不变。

验证责任

验证是候选版本的证据;CI 是自动化执行场所,不能替代本地针对性验证。

  • 对于行为变更,在提出变更前,请在本地运行针对性的回归测试和受影响包的测试。报告运行的命令及结果。
  • 在有助于发现遗漏行为或分支时,使用针对性覆盖率测试。不要要求每个 PR 都达到特定的覆盖率数值或覆盖整个模块。
  • 候选版本推送到 PR 后,由 GitHub CI 负责运行完整的单元测试套件(go test ./...)、E2E 测试套件(go test -tags e2e ./internal/server/...)、lint 和适用的平台检查。只有这些检查实际运行后,才能报告 CI 验证结果。
  • 如果没有 PR、候选版本尚未推送,或风险较高需要更多验证,请在本地运行其他适用的检查。对于无法运行的检查,应将其报告为缺失证据,而不是声称 CI 已覆盖。默认情况下,如果 PR CI 将运行全面的测试套件,请避免在本地重复运行。

评论

支持 Markdown