Mock 数据 JSON 转 TypeScript 类型:让假数据也有真类型
前端常先用 mock 数据开发。如果 mock 的结构和后端的真实结构对不上,联调时就会踩坑。用同一份 mock JSON 生成类型,能让「假数据」也遵循真实契约。
从 mock 生成类型
{
"id": 1024,
"name": "Ada Lovelace",
"active": true,
"tags": ["math", "computing"],
"profile": { "city": "London", "followers": 1200 },
"scores": [98.5, 87, 91]
}
产物:
export interface Root {
id: number;
name: string;
active: boolean;
tags: string[];
profile: {
city: string;
followers: number;
};
scores: number[];
}
配合 mock 库
把生成的 interface 作为 mock 函数的返回类型(如 vi.fn<Root>()),测试里取字段就有提示,结构漂移会立即报错。
常见问题
mock 字段比真实少怎么办?
以真实接口 JSON 为准生成类型,mock 只做填充,避免类型与实际脱钩。
能生成带默认值的类型吗?
类型本身不含值;如需默认值,在 mock 工厂函数里赋值即可。
相关阅读