用途:pattern-test 用于为 Common Tools 模式(pattern)编写和运行测试,帮助开发者在实现每个子模式后立即验证其行为。
主要能力与前置条件:写测试前需确认模式已使用 pattern<Input, Output>()(而非单类型 pattern<State>()),Output 接口中的动作已声明为 Stream<T>,且模式返回了绑定的处理器。若缺少这些,需先修正模式,否则测试无法调用 .send()。
使用方式:先阅读 docs/common/workflows/pattern-testing.md 了解完整测试文件格式与前置条件。测试文件与模式文件放在一起,命名如 [file].test.tsx。测试文件从 commontools 导入 action、computed、pattern,并导入待测模式;在 pattern(() => {...}) 中实例化模式、用 action 定义触发事件、用 computed(() => boolean) 定义断言,最后返回 tests 数组,按顺序包含断言与动作。运行命令为:deno task ct test packages/patterns/[name]/[file].test.tsx。运行 ct CLI 命令时可使用 Skill("ct") 获取文档。
关键要点:应在编写下一个子模式之前先测试当前子模式;用 .send() 触发动作(需要 Output 类型中有 Stream);读取值用直接属性访问而非 .get();断言使用 computed(() => boolean)。
完成标准:测试文件与模式并存,测试通过,即可进入下一个子模式。
限制:资料未提供该技能的收费、价格、支持平台或效果信息;具体测试文件格式与更多细节需参考上述文档。