用途:为 RTK 过滤器开发强制采用 Red-Green-Refactor 流程,结合 Rust 习惯用法,保证过滤逻辑有测试覆盖、输出格式稳定且能显著减少令牌量。
主要能力:一、真实夹具优先,禁止编造合成测试数据,要求从实际命令捕获原始输出,例如 git log -20 > tests/fixtures/git_log_raw.txt、cargo test 2>&1 > tests/fixtures/cargo_test_raw.txt,命名规范为 tests/fixtures/<command>_raw.txt;含 ANSI 码的命令可用 script -q /dev/null 捕获。二、按 RED、GREEN、REFACTOR、SAVINGS、SNAPSHOT 五步推进:先写失败测试,再写最小实现,重构后仍须通过,并验证令牌减少不低于 60%,最后用 insta 快照锁定输出格式。三、测试类型包括输出格式快照、令牌节省断言、空输入与畸形输入不 panic、ANSI 码剥离、多尺寸输出节省率以及 Arrange-Act-Assert 模式。四、实现后需将过滤器接入 main.rs 的 Commands 枚举,run() 使用 fallback 模式,出错时输出警告并回退到原始输出,同时调用 tracking::record 记录。
使用方式:编写 filter_<cmd>() 返回 Result<String>;快照测试首次运行生成后执行 cargo insta review 并按 a 接受,快照保存于 src/snapshots/。质量门禁为 cargo fmt --all && cargo clippy --all-targets && cargo test,三者必须全部通过且 clippy 零警告。
限制与禁止项:不要使用合成夹具;不要省略节省率测试;生产代码不要用 unwrap();不要在过滤器函数内部编译正则,应使用 lazy_static 等只编译一次。资料未提供该技能的具体安装命令、平台支持范围、收费方式与版本信息。