【问题标题】:Environment Variables with AvaAva 的环境变量
【发布时间】:2018-04-06 10:53:59
【问题描述】:

我有一个包含 expressjs 和 ava 的项目,我正在使用 webpack 来打包应用程序

webpack 也是从 .env 文件加载环境变量 在 NODE_ENV 上。

如何在运行 ava 时加载 .env 文件变量,或者在运行 ava 测试之前捆绑应用程序?

谢谢!

【问题讨论】:

    标签: express webpack environment-variables ava


    【解决方案1】:

    您可以使用dotenv.env 文件加载到您的测试环境中。一个简单的例子:

    import test from 'ava';
    require('dotenv').config()
    
    test('foo', t => {
        console.log(process.env.DB_HOST);
        console.log(process.env.DB_USER);
        console.log(process.env.DB_PASS);
        t.pass();
    });
    

    【讨论】:

      【解决方案2】:

      This commit 于 2019 年 6 月 1 日合并,比原帖晚了一段时间。

      不过,现在总而言之,您可以在项目的 package.json 文件中为 Ava 测试运行程序定义环境变量:

      {
          ...
          "ava": {
              "environmentVariables": {
                  "FOO": "bar",
                  ...
              }
          },
          ...
      }
      

      【讨论】:

        【解决方案3】:

        还有前面两个答案的组合,你可以通过在你项目的package.json文件中指定以下内容来指定ava对所有测试使用dotenv:

        {
            ...
            "ava": {
                "require": [
                     "dotenv/config"
                ]
            },
            ...
        }
        

        【讨论】:

          猜你喜欢
          • 2014-09-30
          • 2020-12-07
          • 1970-01-01
          • 1970-01-01
          • 2014-12-17
          • 2019-05-15
          • 1970-01-01
          相关资源
          最近更新 更多