gpt4 book ai didi

angular - 如何为打开模式的 Angular Http 拦截器编写单元测试?

转载 作者:太空狗 更新时间:2023-10-29 17:58:32 27 4
gpt4 key购买 nike

我的拦截器是:

@Injectable()
export class ErrorInterceptor implements HttpInterceptor {
constructor(private _ngbModal: NgbModal) {}

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request)
.catch((err) => {
let componentInstance = this._ngbModal.open(ErrormodalComponent, {size: 'sm', backdrop: 'static' }).componentInstance

switch(err.status) {
case 401:
componentInstance["message"] = "User session lost, please logout and log back in."
break;
case 404:
componentInstance["message"] = "API Route Not found"
break;
default:
componentInstance["message"] = "API Currently Unavailable. Please try again."
break;


}
return Observable.throw(err);
})
}
}

而且我想编写一个测试来检查是否打开了模式,并根据状态显示了适当的消息。

谢谢

最佳答案

我会 mock _ngbModal 并监视 open 方法并返回一个组件实例并检查 componentInstance 上的消息键。

由于 _ngbModal 是第三方并且已经过测试,因此无需实际测试模态。

希望这对您有所帮助。

关于angular - 如何为打开模式的 Angular Http 拦截器编写单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50165230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com