2017-02-06 17 views
1

我有这样的功能:如何秘密监视回调参数

var updateSomething = function(arg1, arg2, callback) { 
    ... 
    db.update(arg, function(err, res) { 
    callback(err, res); 
    }); 
}; 

我测试的API做了一些要求在内部调用这个函数,我很感兴趣已知回调值时,它的叫,我怎么可以用Sinon窥探reserr在我的单元测试中的值?

+1

这就是依赖注入就派上用场了。实际上有一个很好的入门视频:https://www.youtube.com/watch?v=0X1Ns2NRfks&list=LL0OkHqip6ufJ94z9og1nIHw&index=4 – eol

+0

良好的信息,谢谢队友! –

回答

0

假设您的API需要从外部callback说法:

var callbackSpy = sinon.spy(); 

yourAPI.fetchSomething(arg1, arg2, callbackSpy); 

console.log(callbackSpy.args[0]); 
+0

感谢您的回复,我没有从外面回拨那种情况会容易得多,我不需要间谍来获得价值 –

+0

哦,对...呃,我想我被推迟了:D笑话除此之外,如果'updateSomething'被定义为私有变量,你所要求的是不可能的 –

+0

我开始认为不可能检查,因为你猜测updateSomething是一个私有函数:) –