Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

@angular-devkit/build-angular:jest generates incorrect coverage #25293

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
  • tsconfig.spec.json
    • change jasmine to jest at compilerOptions.types[0]
  • 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

Anything else relevant?

dist/test-out/coverage/index.html

repro-app repo

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /