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
的承诺。