我在导入GraphQL解析器的文件中具有类型的集合,以定义将在每个解析器方法中接收的类型。我要对该解析器进行单元测试。为简单起见,下面的代码是被测试的方法:
const resolver = {
...,
MyThing: {
id: (myThing: MyType): string => myThing.identifier,
},
...
};
MyType类型巨大,具有太多必需的属性:
export type MyType = {
__typename?: 'MyType';
identifier: string;
requiredField0: string;
requiredField1: AnotherType;
requiredField2: Array<YetAnotherType>;
...
requiredField30: string;
}
如果我遗漏了某个属性,则会显示一条错误消息:
类型{...}中缺少属性'advancedId',但类型'MyType'中必需。
是否有一个库来使用模拟数据自动填充类型?还是应该为这些类型的所有测试创建共享的实例化模拟?
在单元测试中处理这些大类型的正确方法是什么?它们不会在应用程序代码中的任何地方实例化。