Я пытаюсь создать и внедрить объект фиктивного маршрутизатора в конфигурацию TestBed, но он не работает. Ниже приведена конфигурация:
let mockQuote: QuoteService = new QuoteService(null, null);
let mockOshcStore: OshcStore = new OshcStore(null);
let mockActivatedRoute: ActivatedRoute = new ActivatedRoute();
let mockRouter: Router = new Router(null, null, null, null, null, null, null, null);
//let mockRouter: RouterMock = new RouterMock();
//let router:Router;
TestBed.configureTestingModule({
providers: [
{
provide: QuoteService, useFactory: () => {
return mockQuote;
}
}, FormBuilder, AppStore,
{
provide: OshcStore, useFactory: () => {
return mockOshcStore;
}
},
{
provide: ActivatedRoute, useFactory: () => {
return mockActivatedRoute;
}
},
{
provide: Router, useFactory: () => {
return mockRouter;
}
},
HttpClient, QuoteCISLAdapter
],
declarations: [CreateQuoteComponent]
});
fixture = TestBed.createComponent(CreateQuoteComponent);
component = fixture.componentInstance;
Выше работает до тех пор, пока «ActivatedRoute», но останавливается, когда он попадает на маршрут и дает:
TypeError: Cannot read property 'get' of null
at new Router (../packages/router/src/router.ts:406:30)
Я также пробовал массив импорта с RouterTestingModule модуль, но не работал тоже. Есть идеи, чтобы создать безопасный объект с надписью «Маршрутизатор»?