Макет и создание экземпляра Typescript для модульных тестов - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть набор типов в файле, который импортируется в распознаватель 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'.

Существует ли библиотека для автоматического заполнения типов с ложными данными? Или я должен создать созданные экземпляры mock для всех моих тестов для этих типов?

Как правильно обрабатывать эти большие типы в модульных тестах? Они не создаются нигде в коде приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...