Search code examples
reactjsjenkinsteamcityjestjsyarnpkg

How to run Jest tests with Yarn without any prompts?


I am trying to run my Jest unit tests in Team City but I always end up getting the prompt as shown below.

No tests found related to files changed since last commit.
Press `a` to run all tests, or run Jest with `--watchAll`.

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 Enter to trigger a test run.

I tried running yarn test a to run all the tests. But once the tests have completed execution, I'm still getting the same prompt. I tried yarn test a q but that doesn't work. I also tried yarn test a --forceExit and yarn test a --bail but nothing happens, I still get the prompt. How can I run all my Jest tests without getting this prompt as there will be no interaction when running through Team City? Any help would be much appreciated.


Solution

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