migrate-to-shoehorn:迁移 as 断言


文档摘要

migrate-to-shoehorn:迁移 as 断言 migrate-to-shoehorn 把测试里的 as 类型断言迁移到 @total-typescript/shoehorn,让部分测试数据更安全、类型更准。适合想摆脱 as 投机取巧的 TypeScript 项目。 把测试里的 as 断言换成 shoehorn:让部分测试数据既宽松又类型安全。 它解决什么问题 测试里大量用 as 做类型断言,本质是「骗编译器」,既掩盖问题又脆弱。

migrate-to-shoehorn:迁移 as 断言

migrate-to-shoehorn 把测试里的 as 类型断言迁移到 @total-typescript/shoehorn,让部分测试数据更安全、类型更准。适合想摆脱 as 投机取巧的 TypeScript 项目。

把测试里的 as 断言换成 shoehorn:让部分测试数据既宽松又类型安全。

它解决什么问题

测试里大量用 as 做类型断言,本质是「骗编译器」,既掩盖问题又脆弱。

何时使用

  • 测试文件里 as 断言泛滥
  • 想用部分测试数据(partial)又不想丢类型
  • 项目用 TypeScript,且引入过 @total-typescript/shoehorn

核心工作流

  • 扫描测试中的 as 断言
  • 判断哪些可迁移到 shoehorn
  • 替换为 shoehorn 提供的类型安全写法
  • 跑测试确认行为不变

关键原则与反模式

  • as 是类型层面的「作弊」,尽量少用
  • shoehorn 让部分数据既宽松又保留类型检查
  • 迁移以测试不行为准,分批改

与其他技能的配合

它是 TypeScript 测试质量的小工具,和 tdd 的「好测试」理念一致——测试要诚实、可依赖。

相关技能:

  • tdd:测试驱动开发
  • setup-pre-commit:提交前钩子

常见问题

shoehorn 是什么?

一个 TypeScript 辅助库,让你在需要部分数据/宽松类型时仍保留类型检查,避免滥用 as。

所有 as 都要迁吗?

不必。只迁那些适合用部分测试数据表达的,其余保持原样更清晰。

返回章节:杂项技能完全指南


发布者: 作者: 灏天文库 转发
评论区 (0)
U