-
Notifications
You must be signed in to change notification settings - Fork 11.9k
Open
@maximLyakhov
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
No response
Description
ng test
command includes produced chunks in Jest test coverage instead of covering Angular source files.
Minimal Reproduction
- run
ng new repro-app --package-manager pnpm --standalone --style scss --routing
cd repro-app
pnpm i -D jest jest-environment-jsdom @types/jest
- remove karma and jasmine related packages
- angular.json
- configure test builder as in Angular Blog article on Medium
- tsconfig.spec.json
- change jasmine to jest at
compilerOptions.types[0]
- change jasmine to jest at
- create the following jest.config.mjs in project root:
const config = {
cacheDirectory: "<rootDir>/.jest/cache",
collectCoverage: true,
coverageDirectory: "<rootDir>/coverage",
coverageProvider: "v8",
coverageReporters: ["text-summary", "html"],
reporters: ["summary", "default"],
rootDir: "./",
};
export default config;
- run
ng t
Exception or Error
Output with "v8" coverageProvider:
NOTE: The Jest builder is currently EXPERIMENTAL and not ready for production use.
The esbuild-based browser application builder ('browser-esbuild') is currently in developer preview and is not yet recommended for production use. For additional information, please see https://angular.io/guide/esbuild
Application bundle generation complete. [2.656 seconds]
(node:93724) ExperimentalWarning: VM Modules is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
PASS dist/test-out/app.component.spec.mjs
AppComponent
✓ should create the app (32 ms)
✓ should have the 'Repro App' title (3 ms)
✓ should render title (3 ms)
=============================== Coverage summary ===============================
Statements : 56.27% ( 52457/93208 )
Branches : 70.64% ( 2513/3557 )
Functions : 22.49% ( 1208/5369 )
Lines : 56.27% ( 52457/93208 )
================================================================================
Test Suites: 1 passed, 1 total
Tests: 3 passed, 3 total
Snapshots: 0 total
Time: 1.375 s
Ran all test suites.
Output with "babel" coverageProvider:
NOTE: The Jest builder is currently EXPERIMENTAL and not ready for production use.
The esbuild-based browser application builder ('browser-esbuild') is currently in developer preview and is not yet recommended for production use. For additional information, please see https://angular.io/guide/esbuild
Application bundle generation complete. [2.376 seconds]
[BABEL] Note: The code generator has deoptimised the styling of ../dist/test-out/chunk-FZJ42BZ5.mjs as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of ../dist/test-out/chunk-2TWXLREL.mjs as it exceeds the max of 500KB.
(node:93806) ExperimentalWarning: VM Modules is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
PASS dist/test-out/app.component.spec.mjs (8.787 s)
AppComponent
✓ should create the app (46 ms)
✓ should have the 'Repro App' title (7 ms)
✓ should render title (9 ms)
=============================== Coverage summary ===============================
Statements : 25.74% ( 7742/30068 )
Branches : 16.38% ( 2946/17978 )
Functions : 25.9% ( 1743/6728 )
Lines : 26.06% ( 7635/29296 )
================================================================================
Test Suites: 1 passed, 1 total
Tests: 3 passed, 3 total
Snapshots: 0 total
Time: 9.871 s
Ran all test suites.
Your Environment
Angular CLI: 16.0.3
Node: 16.19.1
Package Manager: pnpm 8.5.1
OS: darwin arm64
Angular: 16.0.3
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1600.2
@angular-devkit/build-angular 16.0.3
@angular-devkit/core 16.0.2
@angular-devkit/schematics 16.0.2
@schematics/angular 16.0.2
rxjs 7.8.1
typescript 5.0.4