Wallaby не передает переменные Dotenv в Runner

Я пытаюсь использовать Wallaby вместе с пакетом dotenv-flow . В настоящее время у меня есть настройка файла конфигурации wallaby.js, как показано ниже:

      require("dotenv-flow").config()
module.exports = function (wallaby) {
  return {
    files: [
      'api/*',
      'controllers/*',
      'config/*',
      'firebase/*',
      'helpers/*',
      'models/*',
      'services/*',
      'smtp/*',
      'sockets/*'
    ],

    tests: [
      "test/**/*.test.mjs"
    ],

    testFramework: "mocha",

    env: {
      type: "node",
      params: {
        env: "NODE_ENV=test"
      }
    }
  };
};

Я пробовал несколько других способов записи файла, в том числе в формате модуля esm. Однако мои тесты выполняются, и мой код продолжения жалуется, что ему не были переданы переменные среды для использования для подключения к базе данных разработки.

1 ответ

Вы загружаете свой.envфайл, но никогда не используя его содержимое. Другая проблема заключается в том, что валлаби не понимает вывод dotenv, поэтому вам нужно немного помассировать его.

      const environment = Object.entries(
             require("dotenv-flow").config()['parsed']).
             map( x =>  `${x[0]}=${x[1]}`).join(';'),

Затем измените свою среду на что-то вроде этого

      env: {
  runner: 'node',
  params: {
     env: environment
  }
}
Другие вопросы по тегам