Это сложно. Вот как я это сделал:
const spyParamMap = jasmine.createSpyObj({get: null});
const mockActivatedRoute = { paramMap: of(spyParamMap) };
Тогда в массиве провайдеров: { provide: ActivatedRoute, useValue: mockActivatedRoute }
И, наконец, в тестах:
spyParamMap.get.and.returnValue('tFilename');
fixture.detectChanges();
В моем ngOnInit()
есть следующий фрагмент:
this.route.paramMap.subscribe(params => {
this.dlFilename = params.get('download');
if (this.dlFilename) {
// logic for if a filename is passed
}
чтобы я мог передать результат в params.get()
и проверить свою логику внутри if
.
Надеюсь, это поможет.