Как обработать импорт файла .gql в тестах Jest - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь протестировать компонент, который импортирует файл .gql. Когда я пытаюсь построить компонент в файле Jest, я получаю эту ошибку:

Скриншот

Кто-нибудь имеет представление о том, как игнорировать импорт? Потому что мне не нужно проверять вызов GraphQL.

1 Ответ

0 голосов
/ 12 июня 2019

Документы GraphQL (которые обычно имеют расширение .gql) могут быть импортированы напрямую, если вы используете webpack и загрузчик, который поставляется с graphql-tag.Jest не работает с веб-пакетом из коробки и должен быть настроен для обработки любого импорта файлов ресурсов, таких как таблицы стилей, изображения и т. Д. Этот процесс описан в документах .

Согласнок документации graphql-tag:

Среды тестирования, которые не поддерживают Webpack, требуют дополнительной настройки.Для Jest используйте jest-transform-graphql.

Так что вы можете использовать jest-transform-graphql вместе с плагином babel-jest, который вы, вероятно, уже используете:

"jest": {
  "transform": {
    "\\.(gql|graphql)$": "jest-transform-graphql",
    ".*": "babel-jest"
  }
}

Технически возможно подделать файл, добавив параметр конфигурации moduleNameMapper, как показано в документации, однако это может привести к поломке компонентов.

...