【发布时间】:2020-01-09 08:47:48
【问题描述】:
组件.ts
// Component containing function
Public myData(){
this.myService.getData()
.pipe(
take(1),
catchError((err: any) => {
this.myRows = [];
return throwError(err);
}),
finalize(() => {
console.log('In Finally');
})
)
.subscribe((rows) => {
this.myRows = rows;
// Do something
});
}
myService.ts
// Service Call
public getData(): Observable < customer[] > {
const url = 'some url';
return this.http.get(url).pipe(
map(this.checkForError),
catchError((err: HttpErrorResponse) => {
return throwError(err);
}),
map(this.myJson),
share()
);
}
spec.ts
// Test Case
it('should test', () => {
let test = spyOn(myService, 'getData');
component.myData();
expect(test).toHaveBeenCalled();
});
无法解决此错误。找不到为服务调用编写测试用例的简单方法。我们如何解决管道错误?
【问题讨论】:
标签: angular unit-testing jasmine angular6 karma-jasmine