SuperAPI AI 工具集

migrate-to-shoehorn

测试与质量

查看项目

更新于 10-15 19:53

技能介绍

用途:把测试文件里的 as 类型断言迁移为 @total-typescript/shoehorn 提供的类型安全替代方案,让测试可以只传部分数据同时保持 TypeScript 通过。该技能来自 mattpocock/skills(MIT),上游为模型调用。

主要能力与替换规则:as Type 替换为 fromPartial(),用于传入仍能通过类型检查的部分数据;as unknown as Type 替换为 fromAny(),用于故意传入错误类型的数据并保留自动补全;fromExact() 用于强制完整对象,之后可再换成 fromPartial()。

安装:npm i @total-typescript/shoehorn

使用方式:先确认哪些测试文件存在造成问题的 as 断言、是否涉及只需部分属性的大对象、是否需要故意传错数据做错误测试;然后安装依赖,用 grep -r " as [A-Z]" --include=".test.ts" --include=".spec.ts" 查找断言,替换并补充 import,最后运行类型检查验证。建议先在小范围应用,确认输出符合预期后再扩大。

适用场景:测试中需要构造大型对象但只关心少数属性,或需要故意错误数据。

限制:仅限测试代码,绝不可用于生产代码;上游流程应保持完整,偏离需明确记录;遇到需要仓库或环境事实的步骤应自行查证。