我在Range7中有一个简单的应用程序,它使用giphy对gifs进行列表请求,通知gifs的数量和搜索项。
我希望创建一个发出请求的测试,并验证gifs列表的结果大于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}/`);
}
测试
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):ERROR TS1183中的错误:不能在环境上下文中声明实现。src/app/gif-list/gif-list.component.spec.ts(33,19):error TS2339:属性'length‘在类型’可观察‘上不存在。
发布于 2019-05-22 13:09:14
我认为唯一有意义的测试是检验它是否返回了一个可观察的.像这样..。
expect(results).toEqual(jasmine.any(Observable))
https://stackoverflow.com/questions/56261910
复制相似问题