SuperAPI AI 工具集

fuzz

前端与建站

查看项目

更新于 10-15 16:16

技能介绍

用途:@react-doctor/fuzz 是 React Doctor 规则的模糊测试工具,在针对性的规则测试通过后使用,用于发现崩溃、性能卡顿、误报以及变异敏感的诊断问题。

主要能力:提供 harness 运行规则模糊测试,支持按规则、按注册表队列、按不变量、按种子和语料库目录运行,并可执行误报专项检查。

使用方式:先运行目标规则:FUZZ_RULE=<rule-id> FUZZ_STRICT=1 FUZZ_ITERATIONS=500 nr fuzz;也可用 nr fuzz、FUZZ_RULE=<rule-id> FUZZ_SEED=42 nr fuzz、FUZZ_INVARIANTS=1 nr fuzz、FUZZ_CORPUS_DIR=<repository-directory> nr fuzz、FUZZ_RULE=<rule-id> FUZZ_PRINT_SILENT=1 nr fuzz,以及用 FUZZ_TAG=<tag> 覆盖整个注册表队列。全量扫描示例:cd packages/fuzz,然后 bun scripts/sync-fuzz-corpus.ts,再 FUZZ_INVARIANTS=1 FUZZ_ITERATIONS=100 FUZZ_CORPUS_DIR=tmp/corpus-repos nr fuzz;误报检查:cd packages/fuzz 后 bun scripts/hunt-false-positives.ts。复现单条发现:FUZZ_RULE=<rule-id> FUZZ_SEED=<seed> FUZZ_ITERATIONS=1 nr fuzz。

注意事项:需先确认目标规则确实触发,静默规则只走了早退路径;若持续静默,需向 packages/fuzz/src/snippet-pools.ts 添加触发形状后重跑。确认的误报需在 packages/fuzz/corpus/regressions/<rule-id>--<slug>.tsx 添加最小 fixture,在规则测试套件补充有效用例,必要时增加生成器片段,并运行 nr -C packages/fuzz test 后重放目标规则。项目级死代码与依赖发现应放在核心测试而非规则 fuzzer。其他细节暂未提供。