SuperAPI AI 工具集

mutation-check

测试与质量

查看项目

更新于 10-16 06:42

技能介绍

用途:在 coop 逻辑密集模块发生改动、重构之前或需要变异测试时,运行 cargo-mutants 并保持 .cargo/mutants.toml 同步。使用前先阅读 docs/testing.md。

主要能力与流程:运行前检查 diff。逻辑模块中新增的、会 shell out、驱动 &PlatformBackend、读取 TTY 或写 stdout 的函数,必须在同一 PR 中于 .cargo/mutants.toml 排除,并抽取其纯决策逻辑单独测试;纯 helper 仍在覆盖范围内。用 cargo mutants --list -f <file> 校验改动的排除项。对每个受影响的 scoped 模块做整文件扫描,且只跑库测试:cargo mutants -f src/<file>.rs -- --lib。输出重定向到文件,不要把长跑管道接到 head 或 grep。

结果处理:分诊 mutants.out/missed.txt,对真实缺口补充有区分度的测试,对真正等价的 mutant 用有文档的窄范围 skip 标记,删除死代码;通过重跑该 mutant 或故意破坏被保护行为来确认新测试有效。报告需含:扫描的文件、missed 数量前后对比、每个 survivor 的处置、.cargo/mutants.toml 是否变更。

限制:不要对整模块排除项(backend.rs、lima.rs、setup.rs、update.rs、ssh.rs、vm.rs、network.rs、port_forward.rs、cmd.rs、prompt.rs、main.rs)花整轮变异运行;应明确识别单元/集成盲点,直接测试抽取出的纯逻辑。