Я хочу протестировать следующую функцию.sinon.js stub - Как заглушить async.map
var myFun = function (a, b, callback) {
async.map(a, function (b, mapCallback) {
//Do something with b => code I don't want to execute
mapCallback(null, res)
},
function (err, output) {
if (err) {
Logger.error(err);
return callback(err, null);
}
return callback(null, output.filter(function(n){ return n != null }));
});
}
Здесь я использую async.map, то, что я хочу, должен быть заглушен. async.map
принимает 3 параметра, первый массив и второй и третий обратный вызов. Я хочу также заглушить второй обратный вызов и вызвать третий обратный вызов с тестовыми значениями. Как это сделать?
Я пробовал:
var mockAsync = sinon.stub(async, "map")
mockAsync.yields("Some error", null);
Но это выполняет вторую функцию, а не третьей функции, я попытался с помощью callsArg
, но это тоже не помогло, не уверен, что имеет отношение здесь или нет.