mcpField
M
mutation-testing

mutation-testing

github.com/amplicode测试与质量134146 次安装8 周前更新
代码仓库

关于 mutation-testing

用于在项目中配置并运行 PIT 变异测试的技能,并报告和记录结果。它涵盖构建设置、变异排除项、测试执行及项目配置记录。

主要功能

  1. 01检查现有 PIT 配置
  2. 02在构建中配置 PIT
  3. 03调整变异排除项
  4. 04运行 PIT 并报告分数
  5. 05记录已确认的运行配置

适用场景

  1. 01将 PIT 加入项目构建
  2. 02调整变异排除项或 targetClasses
  3. 03运行变异测试并报告分数

安装

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

$npx skills add https://github.com/amplicode/spring-skills --skill mutation-testing

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

包含的文件

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

references/
add-exclusion.md
configuration.md
exclusions.md
junit6.md
report.md
usage.md
scripts/
summarize_mutations.py

详细介绍

变异测试

步骤

首先阅读此技能中本项目的 pitest 条目 (type: project)——以下检查均以此为基础。没有条目并不代表出错;这意味着目前尚未记录任何内容。

然后按顺序完成以下步骤。每一步都带有检查:检查通过时,该步骤就已完成——跳过并继续。如果确实要执行某一步,只在执行时加载该步骤的参考文档,以便为 PIT 输出留出上下文。

1. 在构建中配置 PIT

满足以下条件时跳过: PIT 已配置。以下两种情况都表明已配置——遇到第一种就停止:

  • 存在条目——条目描述了本项目的配置。这就足够了:跳过此步骤,不要再花时间运行命令确认条目刚才所述的内容。

  • 不存在条目——那么查看构建文件:

    grep -n "info.solidsoft.pitest" build.gradle build.gradle.kts 2>/dev/null
    

否则,按照 references/configuration.md 操作,其中会将排除项作为设置的一部分应用。

如果随后步骤 3 因 Task 'pitest' not found 失败,则说明条目已过时:如实说明,然后仍然执行此步骤并继续。

2. 调整变异目标

满足以下条件时跳过: 请求与排除项或 targetClasses 无关。

否则,按照 references/add-exclusion.md 操作。该文档既回答问题,也会应用更改——如果请求仅仅是提问,则在评估候选项后停止,不要更改构建。

3. 运行 PIT 并报告得分

满足以下条件时跳过: 用户只要求将 PIT 接入构建,或只询问应排除哪些内容——此时说明可以运行,然后停止。

否则,按照 references/usage.md 操作。

4. 记录已解决的事项

满足以下条件时跳过: 条目已经描述了本次运行实际使用的配置。

否则,按照 references/configuration.md 第 5 步定义的格式,编写或更新 pitest。这样下次就可以跳过步骤 1,因此这不是可有可无的记录工作——如果省略,下次运行就得重新进行版本探测和兼容性检查。

评论

支持 Markdown