From 3d5474194b9f3903149a2d27d688074e8b18046c Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Mon, 28 Apr 2025 10:05:22 +0000 Subject: [PATCH] fix(@angular/build): perform testing module cleanup when using Vitest Ensure proper cleanup of the Angular testing module when running tests with Vitest. Closes: #30186 --- packages/angular/build/src/builders/unit-test/builder.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/angular/build/src/builders/unit-test/builder.ts b/packages/angular/build/src/builders/unit-test/builder.ts index 7e630553a30e..9eb1a552bdd6 100644 --- a/packages/angular/build/src/builders/unit-test/builder.ts +++ b/packages/angular/build/src/builders/unit-test/builder.ts @@ -124,8 +124,14 @@ export async function* execute( loadContent: async () => { const contents: string[] = [ // Initialize the Angular testing environment - `import { getTestBed } from '@angular/core/testing';`, + `import { getTestBed, ɵgetCleanupHook as getCleanupHook } from '@angular/core/testing';`, `import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing';`, + `import { beforeEach, afterEach } from 'vitest';`, + '', + // Same as https://github.com/angular/angular/blob/05a03d3f975771bb59c7eefd37c01fa127ee2229/packages/core/testing/src/test_hooks.ts#L21-L29 + `beforeEach(getCleanupHook(false));`, + `afterEach(getCleanupHook(true));`, + '', `getTestBed().initTestEnvironment(BrowserTestingModule, platformBrowserTesting(), {`, ` errorOnUnknownElements: true,`, ` errorOnUnknownProperties: true,`,