Jest асинхронная настройка перед каждым тестовым файлом - PullRequest
0 голосов
/ 13 ноября 2018

Мне нужно выполнить асинхронную настройку перед каждым тестовым файлом в jest (в частности, чтобы каждый раз запускать MongoMemoryServer).

  1. Использование setupFiles не работает, поскольку не обрабатывает асинхронную работу.Передача глобального Обещания не будет работать, потому что мне нужно установить строку db uri, прежде чем требовать мой модуль db (я не хочу издеваться над ним после ожидания Обещания, это просто плохо).
  2. Официальное руководствоиспользует testEnvironment и настраивает сервер Монго с globalSetup.Как ни странно, в документах написано

Примечание. TestEnvironment находится в изолированной программной среде.Каждый набор тестов будет запускать установку / демонтаж в своей собственной среде TestEnvironment.

Но это не так, поскольку настройка и демонтаж являются глобальными.

Тесты выполняются одновременно, и мне нужно вставить документы в beforeAll в каждый файл, что вызывает ошибки записи.

Я ошеломлен тем, что многие люди используют Node / MongoDB / jestстек, и все же я сталкиваюсь с таким количеством проблем.

В любом случае, спасибо!

1 Ответ

0 голосов
/ 16 ноября 2018

Вы путаете setup / teardown методы TestEnvironment (которые будут выполняться до / после каждого тестового файла) с globalSetup / globalTeardown бегуна Jest (который будет выполняться до / после все тесты).

...