用途:为代码中的错误路径编写测试,覆盖显式与隐式抛错、异步失败、回退逻辑、错误传播与静默吞错等失败模式。
主要能力:先扫描目标代码,识别 throw、解构 null、调用非函数、Promise.reject、.then 链未处理分支、默认值、catch 返回值、可选链回退、静默 try/catch,以及函数是重抛、包装还是消费错误。测试时断言错误类型与消息而非仅“抛了错”;异步用 rejects 而非 try/catch;验证回退值本身;用 spy 断言 logger.error、Sentry.captureException 或事件等副作用;对重试逻辑模拟连续失败以验证耗尽行为;区分 Promise.all 与 Promise.allSettled 的部分失败;确认静默吞错后调用方收到约定的中性结果;对有状态模块断言失败后状态未变或已回滚。
使用方式:按错误面分组输出测试块(抛错、Promise 拒绝、回退、副作用),每个失败条件一个 it/test,并附注释说明所验证的契约。同步抛错直接传非法参数;异步拒绝用 mockRejectedValue;HTTP 用 msw 或返回 { ok: false, status: 500 } 的 fetch mock;DB/IO 在适配器层 mock;静默 catch 让真实错误发生并断言返回值;事件错误用监听器 spy。
限制与注意:不要在测试中用 console.log 验证错误,应使用 spy;异步测试不要用 try/catch;不要只测试 mock 本身;不要把全部错误用例塞进一个测试。资料未提供具体安装命令、平台或收费信息。