Я думаю, что вы хотите смоделировать это так:
class MockActivatedRouter {
data = of({some: [] }); // Dont remember the old rxjs5 syntax but you might want to use Observable.of(...)
}
Значит ActivatedRoute
имеет свойство data
, которое можно наблюдать, на которое вы подписываетесь в конструкторе.
Я обычносмоделируйте это просто с простым объектом и предоставьте наблюдаемый как Subject
, чтобы иметь возможность испускать в любое время, когда я хочу в тесте.
И я предполагал, что вы знаете, как обеспечить свой макет в тесте:
TestBed.configureTestingModule({
...
providers: [{
provide: ActivatedRoute,
useClass: MockActivatedRouter
}]
});