用途:test-design 用于编写、审查或修改单元/集成测试时,决定测试的输入、断言与 mock 策略。它不涉及红绿重构节奏(属于 TDD),只治理用例与断言的设计质量。
主要能力:提供一套工作流——判断代码是否值得测试(自身逻辑用单元测试,依赖装配用集成测试);从契约而非源码分支列出行为清单(“当……时应……”);用等价类、边界值、决策表、状态迁移、脏输入五种技术选取代表点;只断言返回值/可观察状态/副作用边界,且期望值手写;仅 mock 外部世界(网络、数据库、时钟、随机数),mock 数量控制在 2-3 个以内。
核心铁律:破坏一行生产代码,保护它的测试必须变红;否则该测试是形式主义,应删除重写。
使用方式:调用时先声明“Using test-design to …”,再按步骤建立待办;每写完一个测试,手动或实际破坏其守护的逻辑,确认测试变红。
适用场景:新增或修改测试、审查他人测试是否有效、判断某段代码是否值得测试、在覆盖率压力下避免写假测试。
限制:不覆盖测试运行与失败阅读(见 test-runner),不覆盖测试先行节奏(见 tdd),不处理 mock 增多时的模块边界(见 solid)。资料未提供具体安装命令、收费或平台信息。