node.js - 如何在 node.js 中 stub process.env?

标签 node.js stub sinon

我想用 bar stub process.env.FOO

var sinon = require('sinon');
var stub = sinon.stub(process.env, 'FOO', 'bar');

我很困惑。 我阅读了文档,但我仍然不明白。 sinonjs docs

sinonjs就是一个例子,不是sinonjs也可以。

最佳答案

根据我对process.env 的理解,在设置其属性时,您可以像对待任何其他变量一样简单地对待它。但请记住,process.env 中的每个值都必须是字符串。因此,如果您在测试中需要特定值:

   it('does something interesting', () => {
      process.env.NODE_ENV = 'test';
      // ...
   });

为避免将状态泄漏到其他测试中,请务必将变量重置为其原始值或将其完全删除:

   afterEach(() => {
       delete process.env.NODE_ENV;
   });

关于node.js - 如何在 node.js 中 stub process.env?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24589021/

相关文章:

javascript - 如果从服务器(Meteor)调用,GET 响应内容为空

node.js - 如何默认设置脚本在 node.js 中的 package.json 中静默运行(如 npm run -s scriptname)?

node.js - 为什么在此示例中 Node 的回溯正则表达式比 RE2 更快

javascript - 为什么 Angularjs 不将 POST 发送到我的 Express 服务器?

javascript - 测试子类时如何监视祖父类中的导入函数?

c - 如何为 DLL 函数编写(通用)自替换 stub 函数?

python - 去除函数或类

c# - 有没有一种简单的方法可以在 C# 中使用内存存储来支持 OData 搜索?

javascript - 如何用 sinon/chai 测试 axios 请求参数

javascript - Sinon.js 的意外行为