У меня есть пара неудачных модульных тестов для компиляции моих компонентов.В любом случае это происходит из-за того, что мой код пытается сослаться на router.events
или router.params
:
router.params
ngDoCheck() {
this.route.params.subscribe(
() => {
if (this.router.url !== this.url && this.levelOneState === 'maximized') {
this.levelOneState = 'minimized';
}
this.url = this.router.url;
}
)
}
router.events
this.router.events
.pipe(
find(e => e instanceof NavigationEnd)
)
.subscribe(() => {
this.setCurrentNav();
});
Я настроил свои тесты так:
let router;
router.events = of(new NavigationEnd(0, 'http://localhost:4200/', 'http://localhost:4200/'));
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
...
{ provide: Router, useValue: router }
]
})
.compilecomponents();
}));
Однако, когда я запускаю свои тесты с жасмином, я получаю сообщение об ошибке, чтоЯ не могу прочитать свойство подписаться на неопределенное.Кажется, я не могу найти никаких ответов или рекомендаций, чтобы понять, где я могу пойти не так.Кто-нибудь может предоставить некоторую информацию о том, как я могу настроить это по-другому?