Extending the Jest default runner to run tests serially by default
npm install jest-serial-runnerjest-serial-runner
Extending the Jest
default runner to run tests serially by default
---
Simple wrapper over the default Jest runner that forces serial execution of test files. This is equivalent to running with --runInBand flag by default.
Why? Sometimes you have limited/restricted resources on the test machine (like in a docker container) and running the default jest-runner always runs in parallel unless specified otherwise. Integration tests are another scenario where running concurrent instances causes issues so using this runner ensures only 1 test runs at a time.
``sh`
npm install jest-serial-runner --save-dev
Option 1: Specify the runner in your Jest config
`jsonc`
/ jest.config.json /
{
// ...
"runner": "jest-serial-runner"
// ...
}
Option 2: To specify the runner for a subset of files such as for integration tests.
`js``
/ jest.config.js /
module.exports = {
// ...
projects: [
{
// Uses the jest default runner for specification testing
displayName: "UNIT",
testMatch: ["
},
{
// Uses the serial runner instead for integration test files
displayName: "INTEGRATION",
runner: "jest-serial-runner",
testMatch: ["
}
]
}
Thank you to all of our contributors!
PR's & Issue contributions welcome! Please adhere to
contributing guidelines
or your submission will be closed or delayed.