Sendai
Sendai

Reputation: 1741

Is there an option to show all test descriptions when I run jest tests?

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).

Upvotes: 151

Views: 95954

Answers (5)

dansalias
dansalias

Reputation: 817

Note that, instead of

jest --verbose

you can also set verbose to true in jest.config.js:

// jest.config.js
module.exports = {
  ...
  verbose: true,
}

Upvotes: 48

prwinkmr
prwinkmr

Reputation: 41

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.

Upvotes: 4

sudo bangbang
sudo bangbang

Reputation: 28229

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.

Upvotes: 264

Yamakage2077
Yamakage2077

Reputation: 101

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"

Upvotes: 10

Steve Vaughan
Steve Vaughan

Reputation: 2189

The --verbose flag sounds like it might do what you are looking for. According to the docs, it displays individual test results.

Upvotes: 28

Related Questions