gpt4 book ai didi

angular - 如何在测试代码覆盖率中覆盖 catchError

转载 作者:行者123 更新时间:2023-12-04 08:03:09 25 4
gpt4 key购买 nike

如何在我的 Angular Testing 中覆盖 catchError?

this.service.method().pipe(
tap(ret=>{
console.log('my return', ret);
}),
catchError(error=>{
console.log('error occured');
return throwError(error);
})
).subscribe();
在我的测试中,我 mock 了服务和方法。
let serviceMock = jasmine.createSpyObj('Service',{
method: of({message: 'success'})
})
覆盖了 tap 中的代码,但没有包含在 catchError 中。

最佳答案

您可以模拟如下错误:

let isError = false;
let serviceMock = jasmine.createSpyObj('Service',{
method: isError ? throwError('') : of({message: 'success'})
})
这样你就可以设置 isError在您的测试用例中成功或错误。

关于angular - 如何在测试代码覆盖率中覆盖 catchError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66351086/

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