Сначала вам нужно смоделировать маршрутизатор в модуле тестирования:
TestBed.configureTestingModule({
...
providers: [
{
provide: Router,
useValue: {
url: '/path'
} // you could use also jasmine.createSpyObj() for methods
}
]
});
Вы также можете изменить URL-адрес в тесте и запустить тестируемый метод:
const router = TestBed.get(Router);
router.url = '/path/to/anything';
// now you can run your tested method:
component.testedFunction();
Как вы упомянулиspyOn
не работает, потому что работает только для методов / функций.Но url
является собственностью.