MongoError: Невозможно создать пользователей коллекции - база данных находится в процессе удаления - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть REST API, и я пишу TDD для этого проекта. Мой TDD состоял из двух частей: трассы и сервиса. Я решил использовать Jest. У меня есть MongoDB база данных, которую я использую для тестирования. Когда каждый тест завершен, я сбрасываю свою базу данных, используя метод afterAll(). В этом методе я запускаю функцию mongoose.connection.dropDatabase.

Нет ошибки, когда я запускаю только один тестовый файл, но когда я запускаю несколько тестовых файлов, я получаю ошибку. Сообщение об ошибке: MongoError: Cannot create collection auth-db.users - database is in the process of being dropped.

Я поделился с вами примерами кодов:

users.route.test.ts:

https://gist.github.com/mksglu/8c4c4a3ddcb0e56782725d6457d97a0e

users.service.test.ts:

https://gist.github.com/mksglu/837202c1048687ad33b4d1dee01bd29c

Когда все мои тесты запускаются, "sometimes" выдает ошибки. Я написал выше сообщение об ошибке. Причиной этой ошибки является то, что процесс сброса все еще продолжается. Я не могу решить эту проблему. Буду признателен, если вы поможете.

Спасибо.

1 Ответ

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

https://jestjs.io/docs/en/cli.html#runinband

Что вы ищете, так это команда --runInBand. Что заставляет jest работать последовательно, а не создавать рабочий пул дочерних процессов, запускающих тесты

...