测试误差 - 可观察 - 角度2单位测试

时间:2017-09-04 08:19:34

标签: angular unit-testing jasmine

我不知道如何在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');
            });

0 个答案:

没有答案