【问题标题】:Wallaby Does Not Pass Dotenv Variables to Runner小袋鼠不将 Dotenv 变量传递给 Runner
【发布时间】:2022-10-22 06:26:45
【问题描述】:

我正在尝试将 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 模块格式。但是,我的测试运行并且我的续集代码抱怨它没有传递环境变量以用于连接到开发数据库。

【问题讨论】:

    标签: javascript testing environment-variables dotenv wallaby


    【解决方案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
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2012-02-13
      • 2014-09-05
      • 2011-10-13
      • 2013-12-07
      • 2014-04-30
      相关资源
      最近更新 更多