SuperAPI AI 工具集

migrate-to-shoehorn

测试与质量

查看项目

更新于 10-16 05:53

技能介绍

用途:把测试代码里基于 as 的类型断言迁移为 @total-typescript/shoehorn 的类型安全写法。shoehorn 允许在测试中传入部分数据,同时让 TypeScript 保持通过校验。仅限测试代码,切勿在生产代码中使用。

主要能力与替换模式:

  • as Type 替换为 fromPartial(),用于传递仍能通过类型检查的部分数据;适合只需少量属性的大型对象(如只关心 body.id 的 Request)。
  • as unknown as Type 替换为 fromAny(),用于故意传入错误数据并保留自动补全。
  • fromExact() 用于强制完整对象,之后可与 fromPartial 互换。

安装:npm i @total-typescript/shoehorn

典型工作流:先向用户确认哪些测试文件存在引发问题的 as 断言、是否涉及只需部分属性的大型对象、是否需要故意传错数据做错误测试;然后安装依赖,查找含 as 断言的测试文件,例如 grep -r " as [A-Z]" --include=".test.ts" --include=".spec.ts",将对应断言替换为 fromPartial() 或 fromAny(),补充从 @total-typescript/shoehorn 的导入,最后运行类型检查验证。

使用限制:仅适用于测试代码;具体支持的文件类型、框架范围及其他细节暂未提供。