Ci-dessous j'ai un peu de code pour démontrer comment je suis en train de tester/céder une promesse, la fonction ci-dessous useSpyPromise
utilise l'argument prometteur spyPromise
. Im essayant de comprendre comment je peux spécifier le talon pour retourner une promesse sur le premier appel (Promise.resolve(['hasLength']
) et la promesse différente résolue sur le deuxième appel (Promise.resolve([]
).sinon.stub(). Renvoie spécifié pour chaque appel plutôt qu'une fois
let spyPromise = sinon.stub().returns(Promise.resolve(['hasLength']))
function useSpyPromise (spyPromise) {
let promiseOne = spyPromise
.then(d => {
if (d.length === 0) throw new Error('d 0')
return d
})
let promiseTwo = spyPromise
.then(d => {
if (d.length === 1) throw new Error('d 1')
return d
})
return {promiseOne, promiseTwo}
}