我不知道如何在angular2单元测试用例中覆盖错误情况。
以下是我的方法
completeCall(body): Observable<any> {
return this.http.post(URL, body, {
headers: this.headers,
withCredentials: true
}).map(
(results) => {
return results.json();
}).catch(
(error: Response) => {
this.router.navigate(['home']);
return Observable.throw(error);
});
}
我已经成功覆盖了成功案例,但对错误情景不确定,我该如何解决?
我试过以下但是 没有运气
mockBackend.connections.subscribe((connection: MockConnection) => {
const options: any = new ResponseOptions({
body: { error: 'Some strange error' },
status: 404
});
const response: any = new Response(options);
connection.mockError(response);
});
spyOn(console, 'error');
completeTradeService.completeTrade(requestData).subscribe(res => {
console.log(res); // Object{error: 'Some strange error'}
}, e => {
expect(console.error).toHaveBeenCalledWith('404 - Some strange error');
});