Install jest(it needs Jest 21+) and jest-runner-mocha
yarn add --dev jest jest-runner-mocha # or with NPM npm install --save-dev jest jest-runner-mocha In your package.json
{ "jest": { "runner": "jest-runner-mocha" } }Or in jest.config.js
module.exports = { runner: 'jest-runner-mocha', }yarn jestThis project uses cosmiconfig, so you can provide config via:
- a
jest-runner-mochaproperty in yourpackage.json - a
jest-runner-mocha.config.jsJS file - a
.jest-runner-mocharcJSON file
In package.json
{ "jest-runner-mocha": { "cliOptions": { // Options here }, "coverageOptions": { // Options here } } }or in jest-runner-mocha.config.js
module.exports = { cliOptions: { // Options here }, "coverageOptions": { // Options here } }jest-runner-mocha maps some mocha CLI arguments to config options. For example --ui is cliOptions.ui
| option | example |
|---|---|
| ui | "ui": "tdd" |
| timeout | "timeout": 10000 |
| compiler | "compiler": "./path/to/babel-register" |
| file | "file": ["./path/to/include.js", "/supports/multiple/files.js"] |
jest-runner-mocha has some optional configuration for code coverage
| option | example | description |
|---|---|---|
| useBabelRc | "useBabelRc": true | read .babelrc when instrumenting for code coverage (required if you transpile your code with babel). |
Coverage works outside of the box, simply yarn jest -- --coverage
You can also use other Jest options like coveragePathIgnorePatterns and coverageReporters
