У меня есть служба, которая загружается до ее зависимости, и поэтому я использую Injector
для достижения зависимости, когда она будет готова.
constructor(private readonly injector: Injector) {
const interval = setInterval(() => {
const myService = injector.get(MyService);
if (myService) {
this.myService = myService;
clearInterval(interval);
}
}, 200);
}
В моем тесте у меня есть
beforeEach(() => {
return TestBed.configureTestingModule({
providers: [
{
provide: MyClass,
useClass: MyClass,
deps: [
Injector,
]
},
{
provide: MyService,
useValue: myServiceMock
},
]
});
});
Проблема в том, что TestBed.get(MyService) !== TestBed.get(MyClass).myService
.
По какой-то причине это стало двумя разными экземплярами одного и того же.
Как сделать так, чтобы это был один экземпляр?