用途
migrate-to-shoehorn 用于将测试文件中的 as 类型断言迁移到 @total-typescript/shoehorn。当用户提到 shoehorn、想要在测试中替换 as,或需要构造部分测试夹具时使用。
主要能力
该技能会检查指定的测试文件、包管理器、TypeScript 配置以及夹具边界,判断哪些断言代表部分有效输入、哪些是刻意构造的无效输入。完成标准是每个目标断言都有明确的替换目的。
它会根据与版本匹配的官方文档核实已安装或选定的 @total-typescript/shoehorn API。仅在需要时,通过仓库的依赖工作流将其安装为开发依赖。完成标准是测试工作区中已具备该包及相关辅助类型。
在适用的情况下,将部分夹具替换为 fromPartial,将刻意构造的畸形输入替换为 fromAny,将精确夹具替换为 fromExact。这些是夹具构造辅助函数,不是运行时校验,也不证明不完整数据有效。它们应保留在测试中,并保持测试所观察的行为。完成标准是目标断言被替换且其有意义的检查未被削弱。
使用方式
运行相关测试与类型检查,并检查差异。完成标准是迁移保持行为覆盖,且生产代码没有新增对测试夹具辅助函数的依赖。
适用场景
适用于需要将测试中的 as 类型断言替换为 shoehorn 辅助函数的 TypeScript 项目,尤其是涉及部分夹具、刻意无效输入或精确夹具构造的测试迁移工作。
限制
资料未提供该技能的具体安装命令、支持的包管理器范围、版本兼容细节或平台限制。这些辅助函数仅用于测试夹具构造,不提供运行时校验,也不应被生产代码依赖。