Partial Test Data Builders
让测试只声明关心字段,而不是每次完整手搓大对象的数据构造方式。
#type / concept
#status / growing
#tech / dev / test
#resource / testing
[!info] related notes
- 所属 MOC: Testing MOC, Matt Pocock Skills MOC
- 前置概念: 测试驱动开发(TDD)
- 并列概念: TDD 中测什么与测试金字塔
- 易混淆概念: TypeScript MOC
- 关系笔记: Migrate to Shoehorn
Partial Test Data Builders
一句话定义
让测试只提供与当前行为相关的字段,其余字段由 builder 或 helper 补足。
核心机制 / 工作原理
测试的重点是行为意图,不是把巨大对象完整拼出来。部分对象构造能减少样板代码,并让测试更聚焦断言目标。
最小例子 / 最小场景
验证“VIP 用户打折”时,只声明 role: 'vip' 和价格字段,其余数据由 fromPartial() 或 builder 默认补齐。
边界与易混淆点
- 不是随意绕过类型系统,好的 builder 仍会让意图显式
- 只适合测试或夹具场景,不应直接搬到生产逻辑