diff --git a/packages/core/test/test_bed_spec.ts b/packages/core/test/test_bed_spec.ts
index 9fef0b46f53..2dd3c1d9add 100644
--- a/packages/core/test/test_bed_spec.ts
+++ b/packages/core/test/test_bed_spec.ts
@@ -175,6 +175,56 @@ describe('TestBed with Standalone types', () => {
TestBed.resetTestingModule();
});
+ it('should override dependencies of standalone components', () => {
+ @Component({
+ selector: 'dep',
+ standalone: true,
+ template: 'main dep',
+ })
+ class MainDep {
+ }
+
+ @Component({
+ selector: 'dep',
+ standalone: true,
+ template: 'mock dep',
+ })
+ class MockDep {
+ }
+
+ @Component({
+ selector: 'app-root',
+ standalone: true,
+ imports: [MainDep],
+ template: '',
+ })
+ class AppComponent {
+ }
+
+ TestBed.configureTestingModule({imports: [AppComponent]});
+
+ let fixture = TestBed.createComponent(AppComponent);
+ fixture.detectChanges();
+
+ // No overrides defined, expecting main dependency to be used.
+ expect(fixture.nativeElement.innerHTML).toBe('main dep');
+
+ // Emulate an end of a test.
+ TestBed.resetTestingModule();
+
+ // Emulate the start of a next test, make sure previous overrides
+ // are not persisted across tests.
+ TestBed.configureTestingModule({imports: [AppComponent]});
+ TestBed.overrideComponent(AppComponent, {set: {imports: [MockDep]}});
+
+ fixture = TestBed.createComponent(AppComponent);
+ fixture.detectChanges();
+
+ // Main dependency was overridden, expect to see a mock.
+ expect(fixture.nativeElement.innerHTML).toBe('mock dep');
+ });
+
+
it('should override providers on standalone component itself', () => {
const A = new InjectionToken('A');
diff --git a/packages/core/testing/src/test_bed_compiler.ts b/packages/core/testing/src/test_bed_compiler.ts
index 1039a778221..4c2a7c87b22 100644
--- a/packages/core/testing/src/test_bed_compiler.ts
+++ b/packages/core/testing/src/test_bed_compiler.ts
@@ -396,6 +396,9 @@ export class TestBedCompiler {
}
this.maybeStoreNgDef(NG_COMP_DEF, declaration);
+ if (USE_RUNTIME_DEPS_TRACKER_FOR_JIT) {
+ depsTracker.clearScopeCacheFor(declaration);
+ }
compileComponent(declaration, metadata);
});
this.pendingComponents.clear();