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).
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) .
Jest interactive mode keeps re-running the tests forever.
npm ls react-scripts (if you haven’t ejected):[email protected] ..../pmui
└── [email protected]
node -v: v7.4.0npm -v: 4.0.5Then, specify:
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.
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.