Вопрос
Как смоделировать ActivatedRoutes
в моих юнит-тестах?
Сервис:
constructor(
private route: ActivatedRoute,
private knowledgeModelService: KnowledgeModelService
) {
route.params.pipe(map(p => p.modelId)).subscribe((modelId) => {
this.modelId = modelId;
});
}
Мой юнит-тест:
С макетом класс
class ActivatedRouteMock {
// params = of([{modelId: 'test1'}]);
params = { paramMap: of( convertToParamMap( { modelId: 'test1' } ) ) }
}
...
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ StatsComponent ],
providers: [
{
provide: ActivatedRoute, useClass: ActivatedRouteMock
},
Я пробовал diff. подходы от:
Angular2 RC5 Mock-активированные параметры маршрута
Angular2 как имитировать активированные параметры маршрута подписались
Модульный тест angular правильно активировать маршрут
Angular 4 - Сбой: не удается разрешить все параметры для ActivatedRoute: (?,?,?,?,?,?,? ,?)
Но я никуда не денусь.
Ошибка:
route.params.pipe is not a function