1 | # Jest Preset Default
|
2 |
|
3 | Default [Jest](https://jestjs.io/) preset for WordPress development.
|
4 |
|
5 | ## Installation
|
6 |
|
7 | Install the module
|
8 |
|
9 | ```bash
|
10 | npm install @wordpress/jest-preset-default --save-dev
|
11 | ```
|
12 |
|
13 | ## Setup
|
14 |
|
15 | ### Via `jest.config.json` or `jest` field in `package.json`
|
16 |
|
17 | ```json
|
18 | {
|
19 | "preset": "@wordpress/jest-preset-default"
|
20 | }
|
21 | ```
|
22 |
|
23 | ### Usage
|
24 |
|
25 | #### Brief explanations of options included
|
26 |
|
27 | * `moduleNameMapper` - all `css` and `scss` files containing CSS styles will be stubbed out.
|
28 | * `modulePaths` - the root dir of the project is used as a location to search when resolving modules.
|
29 | * `setupFiles` - runs code before each test which sets up global variables required in the testing environment.
|
30 | * `setupFilesAfterEnv` - runs code which adds improved support for `Console` object and `React` components to the testing framework before each test.
|
31 | * `snapshotSerializers` - makes it possible to use snapshot tests on `Enzyme` wrappers.
|
32 | * `testMatch`- includes `/test/` subfolder in addition to the glob patterns Jest uses to detect test files. It detects only test files containing `.js` (or `.ts`) suffix. It doesn't match files with `.spec.js` suffix.
|
33 | * `timers` - use of [fake timers](https://jestjs.io/docs/en/timer-mocks.html) for functions such as `setTimeout` is enabled.
|
34 | * `transform` - keeps the default [babel-jest](https://github.com/facebook/jest/tree/master/packages/babel-jest) transformer.
|
35 | * `verbose` - each individual test won't be reported during the run.
|
36 |
|
37 | <br/><br/><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
|