Jest не загружает переменные окружения (даже с --setupFiles dotenv / config) - PullRequest
1 голос
/ 26 апреля 2020

Я пишу тесты для моего Express проекта, но когда я запускаю тестовый скрипт, мои переменные среды не загружаются.

В других темах люди предлагали использовать --setupFiles dotenv/config, что я и сделал, но, к сожалению, это не сработало. Я попытался добавить его в свой тестовый скрипт и в файл jest.config.js, но ни один из них не сработал. У кого-нибудь есть подсказка, как это исправить?

Контекст

Вот так я настраиваю шутку на package.json:

"scripts": {
    "test": "jest --watchAll --setupFiles dotenv/config"
  },
"jest": {
    "testEnvironment": "node"
},

Вверху моего app.js файла я загружаю переменные окружения с помощью require('dotenv').config();

И это моя структура папок:

project's folder structure: a source folder with several folders inside it, including a test folder. Outside src are app.js, routes.js, .env, package.json and some other files

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Взгляните на этот проект . Он использует и cross-env и dotenv для передачи переменных env в Express:

cross-env NODE_ENV=production node -r dotenv/config ./build/srv/main.js

В качестве альтернативы брат В проекте используется только перекрестное окружение.

Раскрытие информации: я являюсь автором вышеуказанных "четких" проектов.

0 голосов
/ 26 апреля 2020

Исправлено, перемещая файл .env из папки src/ в папку root.

...