关于 mutation-testing
用于在项目中配置并运行 PIT 变异测试的技能,并报告和记录结果。它涵盖构建设置、变异排除项、测试执行及项目配置记录。
主要功能
- 01检查现有 PIT 配置
- 02在构建中配置 PIT
- 03调整变异排除项
- 04运行 PIT 并报告分数
- 05记录已确认的运行配置
适用场景
- 01将 PIT 加入项目构建
- 02调整变异排除项或 targetClasses
- 03运行变异测试并报告分数
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ amplicode/ spring-skills --skill mutation-testing安装后在 Claude Code 中输入/mutation-testing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/add-exclusion.mdconfiguration.mdexclusions.mdjunit6.mdreport.mdusage.mdscripts/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,因此这不是可有可无的记录工作——如果省略,下次运行就得重新进行版本探测和兼容性检查。