0
想了解如何编写测试与如何测试承诺的情况与兴农和摩卡
注诺言以下情形:下面的代码是伪代码
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)}
)
}
}
在写测试中,我认识到,即使在存根Service.get()调用返回已解析的承诺控制台日志里面,然后不被调用。如何测试这种情况?
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();
})
})
您需要返回在'getData'中创建的承诺 – Troopers