Können Sie mir sagen, wie ich den HttpInterceptor des Angular 4 testen soll? Ich habe einen Interceptor wie in den Beispielen beschrieben, aber nicht sicher, wie er getestet werden soll. Unten ist mein Interceptor und ich möchte testen, ob die benutzerdefinierten Header hinzugefügt werden und wann der Antwortstatus 401 window.location.href ist.Komponententest HttpInterceptor von Angular 4
export class MyInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const headers = new HttpHeaders();
this.addHeader(headers); // This will add headers
const changedReq = req.clone({ headers: headers });
return next.handle(req)
.catch(err => {
if (err instanceof HttpErrorResponse) {
switch (err.status) {
case 302:
case 401:
window.location.href = "http//google.com";
break;
default:
throw new Error(this.getErrorMessage(err));
}
}
return Observable.throw(err);
});
}
Danke, aber ich verstehe nicht, was in diesem Fall yourMock ist. Ich möchte http.get aufrufen und überprüfen, ob der Interceptor die Header hinzugefügt hat und die Antwort vortäuschen möchte. – Angad
können Sie das überspringen. es ist nicht erforderlich, wenn Sie nichts verspotten. –