@wordpress/jest-preset-default Edit

Default Jest preset for WordPress development.

Installation

Install the module

npm install @wordpress/jest-preset-default --save-dev

Note: This package requires Node.js 14.0.0 or later. It is not compatible with older versions.

Top ↑

Setup

Top ↑

Via jest.config.json or jest field in package.json

{
    "preset": "@wordpress/jest-preset-default"
}

Top ↑

Usage

Top ↑

Brief explanations of options included

  • moduleNameMapper – all css and scss files containing CSS styles will be stubbed out.
  • modulePaths – the root dir of the project is used as a location to search when resolving modules.
  • setupFiles – runs code before each test which sets up global variables required in the testing environment.
  • setupFilesAfterEnv – runs code which adds improved support for Console object and React components to the testing framework before each test.
  • snapshotSerializers – makes it possible to use snapshot tests on Enzyme wrappers.
  • testMatch– includes /test/ subfolder in addition to the glob patterns Jest uses to detect test files. It detects only test files containing .js, .jsx, .ts and .tsx suffix. It doesn’t match files with .spec.js suffix.
  • timers – use of fake timers for functions such as setTimeout is enabled.
  • transform – keeps the default babel-jest transformer.
  • verbose – each individual test won’t be reported during the run.

Top ↑

Contributing to this package

This is an individual package that’s part of the Gutenberg project. The project is organized as a monorepo. It’s made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to npm and used by WordPress as well as other software projects.

To find out more about contributing to this package or Gutenberg as a whole, please read the project’s main contributor guide.