Repository navigation
ng test fails with NG8001 in a new NgModule app on 22.2.0 #34231
Copy link
Copy link
Closed
Labels
Milestone
Description
Command
test
Is this a regression?
- Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
22.1.9
Description
In a new NgModule app, ng test fails on 22.2.0 with NG8001 for <router-outlet>. The same app generated with 22.1.9 passes.
Since #34134, the Vitest runner compiles the spec files, the setup and providers files, and the files they import. No spec imports app-module.ts, so it is not compiled, even though tsconfig.spec.json includes it.
Minimal Reproduction
npx @angular/cli@22.2.0 new repro --standalone=false --defaults
cd repro
npx ng test --watch=falseThe generated app is not changed. src/app/app.html ends with <router-outlet />.
With @angular/cli@22.1.9, the same app passes (1 test file, 2 tests) when the @angular/* packages are pinned to ~22.1.0 before installing.
Adding import './app-module' at the top of src/app/app.spec.ts makes the tests pass on 22.2.0. Adding src/app/app-module.ts to files in tsconfig.spec.json does not.
Exception or Error
Application bundle generation failed. [1.373 seconds]
✘ [ERROR] NG8001: 'router-outlet' is not a known element:
1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. Find more at https://next.angular.dev/errors/NG8001 [plugin angular-compiler]
src/app/app.html:344:0:
344 │ <router-outlet />
╵ ~~~~~~~~~~~~~~~~~
Error occurs in the template of component App.
src/app/app.ts:7:15:
7 │ templateUrl: './app.html',
╵ ~~~~~~~~~~~~
Your Environment
Angular CLI : 22.2.0
Angular : 22.2.0
Node.js : 26.7.0
Package Manager : npm 11.19.0
Operating System : darwin arm64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build │ 22.2.0 │ ^22.2.0 │
│ @angular/cli │ 22.2.0 │ ^22.2.0 │
│ @angular/common │ 22.2.0 │ ^22.2.0 │
│ @angular/compiler │ 22.2.0 │ ^22.2.0 │
│ @angular/compiler-cli │ 22.2.0 │ ^22.2.0 │
│ @angular/core │ 22.2.0 │ ^22.2.0 │
│ @angular/forms │ 22.2.0 │ ^22.2.0 │
│ @angular/platform-browser │ 22.2.0 │ ^22.2.0 │
│ @angular/router │ 22.2.0 │ ^22.2.0 │
│ rxjs │ 7.8.2 │ ~7.8.0 │
│ typescript │ 6.0.3 │ ~6.0.2 │
│ vitest │ 5.0.3 │ ^5.0.0 │
└───────────────────────────┴───────────────────┴───────────────────┘
Reactions are currently unavailable
Activity
SimonWilliams-STL commentedon Oct 6, 2026
This is not just for a newly generated project. Legacy projects that worked fine under 22.1.9 exhibit the same behaviour. Adding
import './app.module'toapp.component.spec.tsalso fixes this for all tests, not just the tests inapp.component.spec.ts. It is ugly however...Restore NgModule graph in frontend specs
Revert "Restore NgModule graph in frontend specs"
Revert "Restore NgModule graph in frontend specs"