Create-react-app: Jest CLI seems to get stuck in an infinite loop running Pact tests

Created on 12 Jan 2017  Â·  7Comments  Â·  Source: facebook/create-react-app

Description

I'm trying to use PactJS with Create-React-App to add some contract tests for an API client. The PactJS examples include a Jest example which I copied into my CRA based project.
When I run "npm test" or "yarn test" the tests run and pass/fail as expected, but then they keep running every time they complete. I _think_ this is because the Pact tests generate artefacts (JSON files and log files).

Expected behavior

When I run npm test, and press a, the tests run once.
The tests should run as normal, and not be re-triggered by the generated log files (in the logs/ directory) or pact json artefacts (in the pacts/ directory) .

Actual behavior

Jest interactive mode keeps re-running the tests forever.

Environment

  1. npm ls react-scripts (if you haven’t ejected):
[email protected] ..../pmui
└── [email protected]
  1. node -v: v7.4.0
  2. npm -v: 4.0.5

Then, specify:

  1. Operating system: Mac OS X 10.9.5
  2. Browser and version: n/a

Reproducible Demo

I have reproduced the issue here: https://github.com/jensraaby/pact-create-react-app-example.

Simply run npm test (or yarn test) and observe the infinite loop beginning. As explained above, I think the problem is to do with the log file or the pact JSON file that is generated by the test.

bug

All 7 comments

We should probably scope the watcher to src somehow. Maybe @cpojer has some insight on this, I’m not sure how aggressive Jest watcher is regarding filesystem changes. I would expect that only the dependency tree is watched, but maybe not.

Thanks @gaearon - if there's anything I can do to help fix just point me in the right direction.

You may be able to download jest's master version from github, run yarn build and then do yarn link from inside packages/jest. With that, you can try out the latest master version of Jest in your project – we rewrote watch mode and I'm curious whether your problem was solved.

If not, on master it will likely work when using testPathIgnorePatterns for these json files that get written by your test framework.

Thanks @cpojer . I tried what you suggested with the current Jest master, but the issue still happens.

Is there a way to set testPathIgnorePatterns in Create-React-App without ejecting @gaearon ?

I'm wondering whether changing this could help: https://github.com/facebookincubator/create-react-app/issues/1299

I'm all for minimum configuration though.

As of Jest 18, this doesn’t appear fixed yet.

Let's fix it by fixing https://github.com/facebookincubator/create-react-app/issues/544.
Closing as a duplicate.

I am having this problem today @gaearon. It seems to be broken again.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

onelson picture onelson  Â·  3Comments

xgqfrms-GitHub picture xgqfrms-GitHub  Â·  3Comments

rdamian3 picture rdamian3  Â·  3Comments

jnachtigall picture jnachtigall  Â·  3Comments

oltsa picture oltsa  Â·  3Comments