Проверка модульного тестирования маршрутизатора в Angular
Выполните следующие действия
1) Импортируйте маршрутизатор из @ angular.
import { Router } from '@angular/router';
2)Добавьте маршрутизатор в массив поставщиков и поменяйте его для routerSpy.
TestBed.configureTestingModule({
providers: [
{ provide: Router, useValue: routerSpy }
]
})
3) Наконец, создайте routerSpy и создайте шпион jasmine для наблюдения за методом навигации.
let routerSpy = {navigate: jasmine.createSpy('navigate')};
Это остановит ваш модульный тест, если он не сможет найти элемент <router-outlet></router-outlet>
во время теста.
Затем вы можете проверить, что router.navigate () был вызван с помощью:
expect (routerSpy.navigate).toHaveBeenCalledWith(['/nocustomer']);
Следовательно, измените ваш оператор it()
, как показано ниже, и добавьте вышеуказанный конфиг
it(`should navigate to nocustomer`, () => {
component.customers = [];
expect (routerSpy.navigate).toHaveBeenCalledWith(['/nocustomer']);
});