我有一个如下所示的服务层方法。我需要测试(只是一个手动测试和
我没有在这里使用任何测试框架)catch
方法。那么我怎么能强制总是运行catch
语句呢?我只需要模拟401
错误。
get(api) {
let header = new Headers();
return Observable.fromPromise(this.createHeader(header))
.map(() => {
let options = new BaseRequestOptions();
options.withCredentials = true;
options.headers = header;
return options
})
.switchMap((options) => this.http.get(api, options))
.catch((err: Error | Response) => {
if (err instanceof Response && err.status === 401) {// I need to test this.
// handle 401
console.log('get error');
}
return Observable.throw(err);
});
}