Angular 角度测量中的观测值
我在开玩笑地测试一个可观察的服务。以下是服务代码:Angular 角度测量中的观测值,angular,jestjs,Angular,Jestjs,我在开玩笑地测试一个可观察的服务。以下是服务代码: getGenealogyTree(genealogyCode: string): Observable<GenealogyTree> { const queryParams = new HttpParams().set('genealogyCode', genealogyCode); const url = `${environment.janetUrl}/genealogy/genealogyCode`; const head
getGenealogyTree(genealogyCode: string): Observable<GenealogyTree> {
const queryParams = new HttpParams().set('genealogyCode', genealogyCode);
const url = `${environment.janetUrl}/genealogy/genealogyCode`;
const headers = new HttpHeaders().set('Accept', 'application/json');
return this.httpClient.get<GenealogyTree>(url, { headers, params: queryParams });
但当我运行使用该服务的测试时,控制台会显示下一个错误:
TypeError:您提供了一个无效的对象,其中需要一个流。您可以提供一个可观察的、承诺的、数组的或可观察的。
结果如下:
79 | .getGenealogyTree(genealogyCode)
80 | .pipe(takeUntil(this.destroy$))
> 81 | .subscribe((result) => {
| ^
82 | this.genealogyTree = result;
83 | });
84 | }
知道为什么会发生这种情况吗?您可以使用RxJs中的
of
为可观察对象创建存根。@JulienD它不起作用。这通常意味着测试床中没有提供janetService
,因为它的代码看起来正确,唯一的问题是。getGenealogyTree(genealogyCode)
不调用mock。您可以使用RxJs中的为可观察对象创建存根。@JulienD它不起作用。这通常意味着测试床中不提供janetService
,因为它的代码看起来正确,唯一的问题是。getGenealogyTree(genealogyCode)
不调用mock。
79 | .getGenealogyTree(genealogyCode)
80 | .pipe(takeUntil(this.destroy$))
> 81 | .subscribe((result) => {
| ^
82 | this.genealogyTree = result;
83 | });
84 | }