Ava 的环境变量

Eya*_*hen 4 environment-variables express webpack ava

我有一个带有 expressjs 和 ava 的项目,我正在使用 webpack 来捆绑应用程序

webpack 还基于 NODE_ENV 从 .env 文件加载环境变量。

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

谢谢!

ufx*_*eng 5

您可以使用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();
});
Run Code Online (Sandbox Code Playgroud)


Mot*_*tin 5

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

{
    ...
    "ava": {
        "require": [
             "dotenv/config"
        ]
    },
    ...
}
Run Code Online (Sandbox Code Playgroud)