How to Mock or Stub Process.argv

编程入门 行业动态 更新时间:2024-10-04 19:35:44

How to Mock or <a href=https://www.elefans.com/category/jswz/34/1655790.html style=Stub Process.argv"/>

How to Mock or Stub Process.argv

如何模拟或存根 process.argv 值以便它可以返回特定参数?

我试过像这样使用沙箱:

beforeEach(() => {
  sandbox.stub(process.argv.slice(2)[0], 'C:\\home\\project\\assignment').value('--local')
});

test("it replace value of node argument", () => {
    assert(process.argv.slice(2)[0], '--local')
});
    
afterEach(() =>{
    sandbox.restore()
})

但是我一直收到一个错误,提示尝试存根属性 *'C:\home\project ssignment' * of undefined

回答如下:

您可以通过编程修改

process.argv
。见修改节点进程环境或参数运行时

const assert = require('assert');

describe('71476237', () => {
  let originalArgv;
  beforeEach(() => {
    originalArgv = process.argv;
  });

  afterEach(() => {
    process.argv = originalArgv;
  });

  it('it replace value of node argument', () => {
    process.argv = process.argv.concat(['node', 'C:\\home\\project\\assignment', '--local']);
    assert(process.argv.slice(2)[0], '--local');
  });
});

测试结果:

  71476237
    ✓ it replace value of node argument


  1 passing (3ms)

更多推荐

How to Mock or Stub Process.argv

本文发布于:2024-05-30 03:50:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770148.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Stub   Mock   argv   Process

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!