【问题标题】:Using sinon how to avoid testing nested function?使用 sinon 如何避免测试嵌套函数?
【发布时间】:2020-11-06 19:12:06
【问题描述】:

我正在使用 mocha/chai/sino,并且我是他们三个的新手。

const a = () => {
  b();
}

const b = () => {
  console.log('here');
}

在这个例子中,我只是想测试在调用a而不执行b时是否调用了b

类似:

it('test', () => {
  const spy = sinon.spy(b);
  a();
  chai.expect(spy.calledOnce).to.be.true;
})

【问题讨论】:

    标签: javascript mocha.js sinon sinon-chai


    【解决方案1】:

    诗乃的stub就是你要找的。​​p>

    Sinon Stubs

    什么时候使用存根? 需要时使用存根:

    1. 通过测试控制方法的行为以强制代码沿特定路径运行。示例 > 包括强制方法抛出错误以测试错误处理。

    2. 当您想要阻止直接调用特定方法时(可能是因为它触发了不希望的行为,例如 XMLHttpRequest 或类似的行为)。

    it('test', () => {
      const stub = sinon.stub(b);
      a();
      chai.expect(stub.calledOnce).to.be.true;
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多