如何订阅角度服务单元测试中的错误案例
Posted
技术标签:
【中文标题】如何订阅角度服务单元测试中的错误案例【英文标题】:How to subscribe to error case in angular service unit testing 【发布时间】:2020-01-15 20:29:59 【问题描述】:我正在尝试订阅响应以及错误案例,但是当我看到覆盖范围时,它不会出错。
我有以下虚假服务,
我的服务,
fakeService:
appVersion() :
return of('version':'1.2.3.4')
测试用例1:
it('Should load version',() =>
fakeService.appVersion().subscribe((data)
expect(data.version).toBe(1.2.3.4)
);
测试用例 2:[对于错误用例]
it('Should return error',() =>
fakeService:
appVersion() :
return throwError('Error');
fakeService.appVersion().subscribe(
error : err => expect(err).toBe('Error');
);
在组件中
myService.appVersion.subscribe((data)
if (data)
//// Covered
else (err)
//// Not covered
);
我正在尝试订阅响应以及错误案例,但是当我看到覆盖范围时,它不会出错。
【问题讨论】:
【参考方案1】:现在您并没有真正测试该订阅的错误案例。要做到这一点,你需要更像
myService.appVersion().subscribe((data)
if (data)
//// Covered
, (err) =>
//// Now covered
);
按照您编写的方式,您可以使用它进行测试
fakeService:
appVersion() :
return of(null);
【讨论】:
以上是关于如何订阅角度服务单元测试中的错误案例的主要内容,如果未能解决你的问题,请参考以下文章