0
我有一個異步函數,我想監視它是否被調用以及參數是什麼。這個函數需要兩個參數來產生一個網絡請求,然後返回一個基於這兩個參數的響應,比如我們假設它是一個附加api。您通過1
和1
並獲得2
。而不是提出這個請求,我想爲它創建一個模擬,我將它替換爲同步的方法。例如。通過替換爲虛擬替代來模擬函數
這裏的原始添加功能:
const async realAdd = (a, b) => {
return makeRequest(`http://my-service.com/add?a=${a}&b=${b}`)
}
這裏有一個我想使用的嘲諷:
const async dummyAdd = (a, b) => {
return Promise.resolve(a + b)
}
比方說有這需要add
和使用它的功能。在這種情況下,這是我想使用的功能,我想用以前的版本來模擬add
。
const mockAdd = sinon.something(dummyAdd)
let result = someFunctionThatUses(mockAdd)
assert.equal(mockAdd.called, 1)
我要的是在虛擬add
方法傳遞和檢查,如果它被稱爲一種方式,但我仍然希望add
功能return
的承諾。