Как написать контрольный пример для вызова метода внутри «подписки на конец маршрутизатора»? - PullRequest
1 голос
/ 25 сентября 2019

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

ngOnInit() {
this.router.events.pipe(filter(e instance of NavigationEnd)).subscribe( event => {
// calling this method 
this.callmethod();
// Initiating my breadcrumb method by passing the event
this.initiateBreadcrumb(event);
});

1 Ответ

0 голосов
/ 25 сентября 2019

Вы можете сделать это так:

it('routing should call callmethod', () => {
    let callMethodSpy = spyOn(component, "callmethod").and.callThrough();
    component.ngOnInit();

    let event = new NavigationEnd(42, '/some-route', '/');
    TestBed.get(Router).events.next(event);

    expect(callMethodSpy).toHaveBeenCalled();
  });

И не забудьте импортировать RouterTestingModule в ваш TestBed.

TestBed.configureTestingModule({
  imports: [
    RouterTestingModule,
    ...
  ]
});
...