用途:为 JS/TS 代码引入属性测试(property-based testing),用 fast-check 自动生成大量输入,发现单元测试容易遗漏的边界情况。适合新增工具函数(路径规范化、解析器、转换器)、修复具有通用不变量的缺陷、安全敏感的字符串处理,以及任何能表述“对所有输入都应成立”的函数。
主要能力:资料归纳了 6 类典型属性——逆操作/往返(序列化后再反序列化应还原)、幂等(重复应用结果不变)、交换律/顺序无关、不变量(输出始终满足的结构性质)、参考实现对比(快实现与慢而正确的实现结果一致)、蜕变关系(输入按已知方式变化时输出可预测变化)。fast-check 会自动收缩失败输入到最小反例,便于调试。
使用方式:安装依赖 pnpm add -D fast-check;运行属性测试 node --test tests//*.property.test.cjs;需要查看反例时使用 FAST_CHECK_VERBOSE=true node --test tests//*.property.test.cjs。示例覆盖 agent-studio 的 normalizePath、safeParseJSON、globToRegex 与路由函数,分别验证不含反斜杠、幂等、不抛异常且返回 { success, data }、防原型污染、根级与嵌套匹配、路由确定性与非空等性质。
限制:资料未提供该技能的具体版本、许可、收费与平台支持信息;示例依赖 agent-studio 内部模块路径,其他项目需自行调整。资料还要求遵循其记忆协议,在开始前读取 .claude/context/memory/learnings.md,完成后将新模式、问题与决策分别写入 learnings.md、issues.md、decisions.md。