mock方法调用回调函数sinon

时间:2017-05-24 03:12:24

标签: javascript sinon

如何使用sinon模拟调用回调的外部方法? 给出以下代码的示例,getText应该在回调函数

中返回'a string'作为响应
sinon.stub(a, 'getText').returns('a string')
let cb = function(err, response) {
   console.log(response)
}
a.getText('abc', cb)

它应该产生输出'一个字符串'因为它调用回调函数cb但是没有输出

2 个答案:

答案 0 :(得分:12)

您可以使用callsArgWith

sinon.stub(a, 'getText').callsArgWith(1, null, 'kkk')
let cb = function(err, response) {
   console.log(response)
}
a.getText('abc', cb)

答案 1 :(得分:11)

sinon.stub(a, 'getText').yields(null, 'a string');

yields()将使用提供的参数(null, 'a string')调用第一个传递给存根函数的函数参数。