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 |   }