Skip to content

thymikee/jest-preset-angular

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
e2e
January 27, 2023 07:42
January 27, 2023 07:42
January 20, 2023 11:51
src
January 27, 2023 07:42

Jest Preset Angular

A preset of Jest configuration for Angular projects.

Build Status NPM Version GitHub license

Our online documentation is available at https://thymikee.github.io/jest-preset-angular/

This is a part of the article: Testing Angular faster with Jest.

Getting Started

These instructions will get you setup to use jest-preset-angular in your project. For more detailed documentation, please check online documentation.

Install using yarn:

yarn add -D jest jest-preset-angular @types/jest

Or npm:

npm install -D jest jest-preset-angular @types/jest

Configuration

In your project root, create setup-jest.ts file with following contents:

import 'jest-preset-angular/setup-jest';

Add the following section:

  • to your root jest.config.js
// jest.config.js
module.exports = {
  preset: 'jest-preset-angular',
  setupFilesAfterEnv: ['<rootDir>/setup-jest.ts'],
  globalSetup: 'jest-preset-angular/global-setup',
};
  • or to your root package.json
{
  "jest": {
    "preset": "jest-preset-angular",
    "setupFilesAfterEnv": ["<rootDir>/setup-jest.ts"],
    "globalSetup": "jest-preset-angular/global-setup"
  }
}

Adjust your tsconfig.spec.json to be:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/spec",
    "module": "CommonJs",
    "types": ["jest"]
  },
  "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}

IMPORTANT

Angular doesn't support native async/await in testing with target higher than ES2016, see angular/components#21632 (comment)

Migration from Angular < 13

Check out our Migration from Angular < 13 guidance

Angular Ivy

Check out our Angular Ivy guidance

Example projects with base Jest configuration

We have example apps to provide a basic setup to use Jest in an Angular project. The examples folder consist of several example Angular applications from v10 to 13, as well as example projects with yarn workspace or monorepo structure.

Built With

  • TypeScript - JavaScript that scales
  • Angular - The modern web developer's platform
  • ts-jest - Jest transformer for TypeScript

Authors/maintainers

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details