Я застрял в этом в последний день, и я решил, что мне нужна помощь. У меня есть следующий метод класса javascript, для которого я пишу модульный тест:
getUser = function(req, res){
return new Promise(function(resolve, reject){
User.getByUserId(user_id, function(err, user){
if (err){
return reject({ message: defaultErrorMessage })
} else {
return user ? resolve() : reject({ message: 'The specified user does not exist.' })
}
})
}).then(function(){
....Promise Chain Continues...
})
По сути, я пытаюсь написать модульный тест, который блокирует вызов User.getByUserId mongoose со следующим:
let resolvedPromise = sinon.stub().resolves();
sinon.stub(User,'getByUserId').returns(resolvedPromise);
Я думаю, что хочу остановить вызов БД, который находит пользователя, и вернуть решенное обещание, чтобы цепочка обещаний могла продолжаться, однако мое текущее решение не позволяет цепочке обещаний продолжаться.
Как у меня есть заглушка sinon в обещании, и чтобы этот заглушка возвращал решимость (), которая позволяет цепочке обещаний продолжаться? Помощь будет принята с благодарностью!