Ошибка метода http теста с жасмином (угловой 7) - PullRequest
0 голосов
/ 22 мая 2019

У меня есть простое приложение в angular 7, которое делает запрос списка gif-файлов, сообщая количество 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}/`);
}

Тест

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: свойство 'length' не существует для типа 'Observable'.

1 Ответ

1 голос
/ 23 мая 2019

Я думаю, что единственный тест, который имел бы смысл, - это проверить, возвращает ли он наблюдаемый ... вот так ..

expect(results).toEqual(jasmine.any(Observable))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...