簡體   English   中英

使用sinon如何避免測試嵌套的function?

[英]Using sinon how to avoid testing nested function?

我正在使用 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;
})

詩濃的stub就是你要找的東西。

詩乃存根

何時使用存根? 當您想要時使用存根:

  1. 從測試中控制方法的行為以強制代碼沿特定路徑運行。 示例 > 包括強制方法拋出錯誤以測試錯誤處理。

  2. 當您想阻止直接調用特定方法時(可能是因為它觸發了不希望的行為,例如 XMLHttpRequest 或類似的)。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM