Awesome
jest-watch-random
Randomly run some of the test suites (each test file is a test suite in jest).
Requires jest@23+
.
Rationale
What? How dare you only running part of the tests?
Well yeah, in normal circumstances, you should run all of your tests all the time. But in practice, when you have a huge suite of tests, it is not practical to do that.
In one of my cases, I have 80k acceptance tests which takes 2 hours to run.
In most cases, I use a combination of filtering and test.skip()/test.only()
to focus on the tests that matter.
But from time to time you want to run other tests to make sure you are not breaking anything.
This plugin allows you to do a random spot check to make sure things are working fine.
Of course, you should run a full test at the end of a cycle (end of day / end of sprint / end of release).
Usage
To use jest-watch-random
,
add it to the watchPlugins
section of the Jest configuration:
{
"jest": {
"watchPlugins": [
"jest-watch-random", // or
["jest-watch-random", { "key": "R", "prompt": "randomly pick some test suites to run" }]
]
}
}
In watch mode, press R
to invoke a prompt and enter the percentage of tests you want to run:
Watch Usage
› Press a to run all tests.
› Press f to run only failed tests.
› Press p to filter by a filename regex pattern.
› Press t to filter by a test name regex pattern.
› Press q to quit watch mode.
› Press R to randomly pick some test suites to run.
› Press Enter to trigger a test run.
Random mode usage
› Press Esc to exit random mode.
› Press Enter to randomly run n% of the test suites
random › 10 %