I'm using jest and enzyme with my create-react-app project. When I run npm test
, I get an output that shows the names of the test files that passed but I'd like the output to also include the names of the tests.
Example:
Button.test.js
it ('renders button', () => {
const button = shallow(<Button type="save"/>);
expect(toJson(button)).toMatchSnapshot();
});
Right now when I run npm test the output is just:
PASS src/Button.test.js"
and the number of passed and failed tests (when the tests are successful). I would like the output to include "renders button" and any other test descriptions (like how the output looks when an rspec test is run).
From Jest's command-line options docs
--verbose Display individual test results with the test suite hierarchy.
So running
jest --verbose
Will print all the names in describe
, it
, test
blocks.
If you're running tests with yarn
, you can do
yarn test --verbose
If you're running tests with npm
, you can do
npm test -- --verbose
If you want to make this default, change your test script in package.json
"test": "react-scripts test --env=jsdom --verbose",
Now both yarn test
and npm test
should show all test names.
Note that, instead of
jest --verbose
you can also set verbose
to true
in jest.config.js
:
// jest.config.js
module.exports = {
...
verbose: true,
}
The --verbose
flag sounds like it might do what you are looking for. According to the docs, it displays individual test results.
npm
arguments to jest
arguments - like so: npm test -- --verbose
. (Otherwise, the --verbose
argument goes to npm
, and you're seeing verbose npm
output rather than verbose jest
output.)
I was having the same issue with create-react-app (using both jest and enzyme), but was able to get the tests to appear after appending the existing test
script in package.json with --verbose=true
. So it now appears "test": "react-scripts test --env=jsdom --verbose=true"
after doing this configuration in package.json( "test": "react-scripts test --env=jsdom --verbose"
,) try running your test by npm test
.
Note : with npm run test description is not reflecting for me as well.
Success story sharing
jest.config.js
is the only way to do it when using vue cli 4 and runningnpm run test:unit