Angular5 TestBed useValue seems not injecting same object instance
Angular DI clones objects provided by useValue
and from the looks of it, does it incorrectly:
https://github.com/angular/angular/issues/10788
You should use factory instead:
TestBed.configureTestingModule({
providers: [{provide: TestInjectable, /*-->*/ useFactory: () => testInjectableMock}],
declarations: [TestComponent]
}).compileComponents();