Ожидается один соответствующий запрос, найдено 2 запроса.Как проверить 2 запроса - PullRequest
0 голосов
/ 25 февраля 2019

Я работаю над приложением Angular и использую Jasmine для тестирования приложения.

Мне нужно проверить два похожих HTTP-запроса одним методом, таким как ngOnInit().

У меня есть HTTP-запрос, который вызывается дважды в методе ngOnInit(), и сейчас пишу используемый мной тестовый пример, выдает ошибку, как показано ниже:

Ошибка: ожидаетсяодин совпадающий запрос по критерию "Соответствующий URL: http://localhost:8080/api/demoList", найдено 2 запроса.

Например,

// method to test

ngOnInit() {
  this.httpGetRequest();
  // some other code
  this.httpGetRequest();
}

this.httpGetRequest() {
  this.httpClient.get(http://localhost:8080/api/getSomeList);
}

//test case for ngOnInit()

it('should do something', () => {
  spyOn(component, 'ngOnInit').and.callThrough();
  component.ngOnInit();

  const req = httpTestingController.expectOne(`http://localhost:8080/api/getSomeList`);
  expect(req.request.method).toEqual('GET');
  req.flush(mockList);
});

Как проверить несколько запросов нааналогичный URL?

1 Ответ

0 голосов
/ 03 мая 2019

Вы можете использовать метод match вместо expectOne.В вашем случае он должен возвращать массив с 2 элементами, по одному для каждого из подобных запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...