Как смоделировать ActivatedRoute из тестов Angular 5 - ошибка Не удается прочитать свойство 'params' из неопределенного - PullRequest
0 голосов
/ 11 мая 2018

Это мой конструктор с ActivatedRoute

  constructor(private route: ActivatedRoute) {
    this.claimId = +route.snapshot.params["claimId"];
  }

И я пытаюсь смоделировать этот ActivateRoute в тестах таким образом:

beforeEach((() => {
    TestBed.configureTestingModule({
      declarations: [TransactionSummaryComponent],
      providers: [{
        provide: useClass: MockClaim
      }, {
        provide: ActivatedRoute, useValue: {
          params: Observable.of({ claimId: 1 })
        }
      }]
    });

Но при построении тестов я получаю ошибку: TypeError: Cannot read property 'params' of undefined

1 Ответ

0 голосов
/ 25 мая 2018

Я изменил способ получения идентификатора:

 constructor(private route: ActivatedRoute) {
    this.route.params.subscribe(params => {
        this.claimId = +params["claimId"];
    });
 }

И теперь это работает.

...