Жасмин: не может прочитать свойство 'api' из неопределенного - PullRequest
0 голосов
/ 29 июня 2018

У меня есть приложение, которое использует ag-grid для отображения данных. Эти данные просто информация о пользователе, как их имена и адрес электронной почты. Я пишу тест для одной из моих функций в классе компонентов. Моя функция заключается в следующем: он получает список пользователей из URL-адреса, используя сервис getData. Затем выводит этих пользователей в ag-grid. Мой тест пытается симулировать именно это. Вот функция из моего класса компонентов:

  getUsers() {
    this.userService.getData(url_UserList).subscribe(res=>  
    this.rowData = res;
    this.redrawAgGrid();
   }

Теперь вот мой тест:

 fit('should call getData and return list of users', async(() => {
    const response: Test[] = [];

    spyOn(httpService, 'getData').and.returnValue(of(response));

    dashboardComponent.getUsers();

    fixture.detectChanges();

    expect(dashboardComponent.rowData).toEqual(response);
  }))

Мой тест должен пройти, а rowData должен равняться ответу. в строке: dashboardComponent.getUsers () Я получаю ошибку: Невозможно прочитать свойство 'Api' из неопределенного Спасибо.

1 Ответ

0 голосов
/ 06 июля 2018

Так что, если кто-нибудь придет к этому вопросу, я решил его. У Жасмин были проблемы с AGGrid, как я уже сказал. Чтобы решить эту проблему, в своем тесте я добавил строку: spyOn(component'redrawAgGrid'); В ходе онлайн-исследований ошибка API обычно возникала из-за того, что метод redrawAGrid не вызывался.

...