Как проверить модульное тестирование пустой функции в Angular? - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в angular, и я тестирую свой компонент Login, который работает примерно так. У него есть функция handleLogin(), которая void. Она перенаправляет на другую функцию, как показано ниже.

loginComponent

Как я могу проверить эту функцию? Он перенаправляет на какую-то другую функцию, которая также перенаправляет куда-то еще. Как проверить такую ​​сложную функцию.

1 Ответ

0 голосов
/ 19 ноября 2018

Поскольку задействована служба, и вы должны "UNIT" протестировать Компонент, вы должны смоделировать службу и ожидать, что ее метод был вызван при вызове метода handleLoginна вашем компоненте.

Примерно так:

import { LoginComponent } from './login.component';
import { LoginService } from '../../services/login.service';
import { AuthenticationService } from './auth.service';

describe('Component: Login', () => {

  let component: LoginComponent;
  let service: LoginService;
  let spy: any;

  beforeEach(() => {
    service = new LoginService();
    component = new LoginComponent(service);
  });

  afterEach(() => {
    service = null;
    component = null;
  });

  describe('Method: handleLogin', () => {

    it('should call the `redirectToAuth` method on the `LoginService`', () => {
      spy = spyOn(service, 'redirectToAuth');
      component.handleLogin();
      expect(spy).toHaveBeenCalled();
    });

  });

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