用途:该技能为 Noodle 提供默认测试驱动的开发流程,强调在解决问题前先证明问题存在,适用于测试改动、编写测试、修复缺陷、创建 fixture 或运行测试套件。
主要能力与流程(Bug First):1. 复现:运行失败场景观察实际行为;2. 编写失败测试:以最小复现作为测试用例;3. 提交失败测试:使用 Skill(commit),消息形如 test: reproduce #issue-description;4. 修复代码;5. 验证:运行 pnpm test 确认通过;6. 提交修复,与测试分开提交。此流程适用于所有 bug 修复,失败测试可证明缺陷存在并防止回归。
Fixture 测试:Noodle 使用 testdata/ 下基于目录的 fixture。创建新 fixture 可运行:./scripts/scaffold-fixture.sh <package-dir> <fixture-name> [state-count],随后填写生成的 input.json/input.ndjson 与 expected.md,再执行 pnpm fixtures:hash:sync。Bug fixture 的格式、frontmatter 字段、预期错误与修复流程参见 references/fixtures.md。
常用命令:pnpm test 运行全部测试;pnpm test:short 跳过集成测试;pnpm check 执行本地完整 CI(test + vet + lint + fixtures);pnpm bugs 列出标记为已知 bug 的 fixture;pnpm fixtures:loop 校验 loop fixture 与预期一致;pnpm fixtures:loop:record 重新生成 loop fixture 预期输出;pnpm fixtures:hash 校验 fixture 输入哈希;pnpm fixtures:hash:sync 更新输入哈希;pnpm vet 运行 go vet;pnpm lint:arch 架构检查(文件大小、遗留模式)。
运行特定测试示例:go test ./loop 单个包;go test ./loop -run TestLoopDirectoryFixtures 单个测试;go test -count=1 ./parse 绕过缓存;go test -race ./... 启用竞态检测;go test -v ./tui 详细输出。集成测试用 testing.Short() 跳过,pnpm test:short 会跳过,pnpm test 全部运行。
限制:资料未提供关于收费、平台或性能保障等信息。