Как сделать так, чтобы тестовый пример покрывал операторы внутри pipe (map ... используя jest - PullRequest
0 голосов
/ 06 марта 2019

Я использую угловой.

Component code

 httpClient.post(URL, requestBody)
   .pipe(map((result) => {
      serviceCall(result);
 }));

Как покрыть код внутри трубы (сопоставить с использованием Jest-теста?

Я написал Jest-тест, как показано ниже, но он не охватываетоператоры внутри трубы

  spyOn(httpClient, 'post').and
    .returnValue(new Observable( observer => {
    observer.next([]);
  }));

1 Ответ

1 голос
/ 06 марта 2019

Покрытие кода ничего не значит, когда дело доходит до тестирования. Это просто показывает, что движок читает эту часть кода.

Но если вы хотите охватить это, вам придется проверить конечный результат вашего потока.

spyOn(httpClient, 'post').and.returnValue(of({}));
spyOn(yourService, 'serviceCall').and.returnValue(of({ id: 1 });

myFunction().subscribe(res => expect(res.id).toEqual(1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...