javascript - node.js 在测试中设置 process.env 变量

标签 javascript node.js mocha.js

当我使用 mocha 在 node.js 中运行测试时,如何设置时间环境变量?

在一个模块中,我有一个依赖于环境变量的变量

var myVariable = proccess.env.ENV_VAR;

现在我使用 rewire模块,

var rewire = require('rewire');
var myModule = rewire('../myModule');

myModule.__set__('myVariable', 'someValue');

有没有更简单的方法?没有重新布线模块?

最佳答案

在您的 myModule.js 文件中,导出一个将变量作为参数的函数,例如:

module.exports = function (var) {
    // return what you were exporting before
};

然后当你需要它的时候,像这样要求它:

var myModule = require('../myModule')(process.env.ENV_VAR);

关于javascript - node.js 在测试中设置 process.env 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585191/

相关文章:

javascript - 什么是 jQuery 与 Ajax.Request 以及 onSuccess 和 onComplete 的等价物?

javascript - 值得使用原型(prototype)还是我们应该为 javascript 使用 OOP?

javascript - JSON:javascript中的键值连接

javascript - Node.js express NPM 启动错误,退出状态 8

javascript - 在 Node.js 应用程序中使用 View 模型

node.js - 如何将结果列表从 sequelizejs 返回到 grpc?

javascript - 等待 Mocha api 测试

javascript - 如何在页面上突出显示数据排序类型的菜单项?

javascript - 如何使用 Mocha 测试全局变量?

unit-testing - 如何对 React-Redux 连接的组件进行单元测试?