unit-testing - 如何订阅角度服务单元测试中的错误案例
问题描述
我正在尝试订阅响应以及错误案例,但是当我看到覆盖范围时,它不会出错。
我有以下虚假服务,
我的服务,
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
}
});
我正在尝试订阅响应以及错误案例,但是当我看到覆盖范围时,它不会出错。
解决方案
现在,您并没有真正测试该订阅的错误案例。为此,您需要更多类似的东西
myService.appVersion().subscribe((data) {
if (data) {
//// Covered
}
}, (err) => {
//// Now covered
}
});
使用您编写它的方式,您可以使用
fakeService: {
appVersion() : {
return of(null);
}
}
推荐阅读
- javascript - 从 Javascript/Node 中的异步数据创建 REST API
- visual-studio-2012 - 使用 ITK 和 VTK 进行 CT 脑血管分割
- javascript - 这在 javascript 中的行为出乎意料
- r - 在生产脚本中设置 client_id 和 client_secret - R
- css - 我的 css 文件不会自动从我的 scss 文件编译
- go - 如何从失败的命令中读取标准输出
- django - OTP 仅登录 Django
- python - 与列表项匹配的python数据框
- python - 如何解决这个要求重复输入的循环?
- r - R - 如何从 geojson API 读取 Shapefile?