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
}
}