How to run Jest tests with Yarn without any prompts?

yarn test --coverage

Will run only once (with coverage) and returns 0 on success and 1 on failure.


In TeamCity, edit the setting for your configuration, then select Parameters on the side.

Click Add a new Parameter, and in the dialog popup that appears, under Kind: select Environment variable (env.).

Set the name to env.CI and set the value to true. Click Save.

Next time you run your build, your build should auto-run the tests and move on.

For bonus points (and if you are the administrator) go to Administration then under Projects edit the <Root project>. Click Parameters on the side and set the env.CI parameter to true so you don't have to set this for future projects.


--ci

When this option is provided, Jest will assume it is running in a CI environment. This changes the behavior when a new snapshot is encountered. Instead of the regular behavior of storing a new snapshot automatically, it will fail the test and require Jest to be run with --updateSnapshot. link

Also, you can change package.json to:

"test": "CI=true react-scripts test --env=jsdom",

which works great.

Your other option is to set CI in the command like any variable:

CI=true yarn test

The following command worked for me.

  • CI=true yarn test