我有麻烦了。我在设置一个匿名函数
let getLisMock = sinon.mock();
GetListMock.calledWith({data: 'data'});
我正在测试的功能
function someFunc({data: 'data'}, callback) {
async.retry({times: 3,interval: 10}, function(callback){
getList({data: 'data'}, callback); },
callback)
}
我将someFunc和getList与rewire和__set__
组合在一起。在调用函数之前,sinon的设置如下所示
GetListMock.onCall(0).yields(new Error('error'), null);
GetListMock.onCall(1).yields(null, {items: [{id: 1}]});
接下来,调用函数并预期。
无论我做什么,我都会得到一个错误:未捕获的预期错误:匿名模拟已调用一次
很抱歉以这种形式提问,我现在没有电脑。如果稍后没有人回答,我会添加一个测试样本。
我试着用once()打一个电话,只是抛出一个错误,但最终所有的道路都把我引到了这里。
1条答案
按热度按时间k4aesqcs1#
请先尝试呼叫
GetListMock.twice()
: