voulu comprendre comment écrire test pour le scénario suivant avec des promessesComment tester le scénario de promesse avec sinon et mocha
Note: le code ci-dessous est le code pseudo
class Service{
get(){
return Promise.resolve('hi');
}
}
class otherObj{
trigger(a){
console.log(a);
}
}
class Caller{
getData(){
new Service()
.get()
.then((a)=>{console.log('in resolve') otherObj.trigger(a)},
(r)=>{console.log('in reject') otherObj.trigger(r)}
)
}
}
Lors de l'écriture test, je compris que même après avoir écrasé l'appel Service.get() pour renvoyer les journaux de la console de promesse résolue à l'intérieur, il n'est pas appelé. Comment tester un scénario comme celui-ci?
descibe('test',()=>{
it('test resolve',()=>{
let stub = stub(Service.prototype, 'get').returns(Promise.resove('hi'))
new Caller().getData();
stub.restore();
})
it('test reject',()=>{
let stub = stub(Service.prototype, 'get').returns(Promise.reject('error'))
new Caller().getData();
stub.restore();
})
})
Vous devez retourner la promesse créée dans 'getData' – Troopers