【发布时间】:2021-09-29 14:34:53
【问题描述】:
我有一个函数,我正在尝试编写一个因错误而失败的规范
Unhandled promise rejection: [object Object]
功能:
someFunction(a,b,c) {
var dfd = q.defer();
this.getInfo(b,c).then((data)=> {
//do Something
dfd.resolve(data);
}).catch((error)=> {
dfd.reject(error)
})
return dfd.promise;
}
规格:
describe( 'SomeFunction', () => {
it( 'should reject when getInfo request fails', ( done ) => {
spyOn( utility, 'getInfo' ).and.callFake( async () => {
var deferred = q.defer();
deferred.reject( { error: 500 } );
return deferred.promise;
});
let promise = utility.someFunction( a,b,c );
expect(utility.getInfo).toHaveBeenCalled();
promise.then().catch( function ( data:any) {
expect( data ).toEqual( { error: 500 } );
} ).finally( done );
});
我想在这里写下拒绝的测试用例,然后得到错误未处理的承诺拒绝。
如果我在这里做错了什么,请告诉我。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript typescript unit-testing jasmine karma-jasmine