错误方法HTTP测试用茉莉(Angular 7)



我在Angular 7中有一个简单的应用程序,该应用程序提出了GIF的列表请求,并使用GIPHY API。

我想创建一个提出请求的测试,并验证GIF列表的结果大于0。

但是我有很多错误,我不明白为什么

服务

private apiKey:string = "123";
private shortUrl:string = "//api.giphy.com/v1/gifs/search?q="
searchGif(term:string, limit:number):Observable<Gif[]> {
     let url:string = this.getUrl(term, limit);
     return  this.http.get<Gif[]>(`${url}/`);
}

test

let service: GifSearchService;
let httpMock: any
let limit: number = 1;
let term: string = "dogs";
beforeEach(() => {
    httpMock = jasmine.createSpyObj('http', [ 'get', 'post' ]);
    service = new GifSearchService(httpMock);
});
it('Should return value when search for gifs', () => {
    let result = service.searchGif(term, limit);
    expect(result.length).toBeGreaterThan(0);
  });

错误

node_modules/rxjs/internal/observable.d.ts(14,60(中的错误 TS1183:不能在环境环境中声明实现。 src/app/gif-list/gif-list.component.spec.ts(33,19(:错误TS2339: 属性"长度"在类型的"可观察"上不存在。

我认为,唯一有意义的测试是测试是否返回可观察的...像这样。

expect(results).toEqual(jasmine.any(Observable))

最新更新