Я пытаюсь протестировать простой сервис, который использует Маршрутизатор как зависимость и записывает все маршруты в массив истории. Я более или менее использую сервис, описанный в этом руководстве .
Я испробовал все решения, которые я мог найти в документации Angular.io. Я попробовал несколько решений здесь, на StackOverflow. Я даже пытался добавить маршруты к фиктивным компонентам, объявив их и добавив их в RouterTestingModule.withRoutes()
. По какой-то причине router
во всех случаях равно undefined
.
describe('Route State service', () => {
let routeStateService: RouteStateService;
let router: Router;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterTestingModule],
providers: [RouteStateService]
});
router = TestBed.get(Router);
routeStateService = TestBed.get(RouteStateService);
router.initialNavigation();
});
describe('should add each route to history', () => {
router.navigate(['/test']);
expect(routeStateService.history.length).toBeGreaterThan(0);
});
});
Ошибка довольно прямолинейна, но по какой-то причине я не могу определить «маршрутизатор» обычным способом. Чего мне не хватает?