Я пытаюсь выполнить модульное тестирование компонента angular2, который использует маршрутизацию. У меня есть:
class MockRouter {
}
class MockAuth {
isLoggedIn(){
return false;
}
}
describe('Home', () => {
beforeEach(() => TestBed.configureTestingModule({
providers: [
BaseRequestOptions,
{ provide: Router, useClass: MockRouter },
HomeComponent,
{ provide: AuthenticationService, useClass: MockAuth }
]
}));
it('should navigate to login', inject([HomeComponent], (home: HomeComponent) => {
let navigate = jasmine.createSpy('navigate');
expect(navigate.calls.mostRecent().args[0]).toEqual(['/login']);
}));
});
но я получаю сообщение об ошибке:
TypeError: undefined не является объектом (оценка 'navigate.calls.mostRecent().args') в config/spec-bundle.js (строка 41757)
Я думаю, что жасминовый шпион - правильный подход, но я что-то упустил - что я делаю не так?