I am able to test multiple files using Jest, but I cannot figure out how to test a single file.
I have:
npm install jest-cli --save-dev
package.json
: `{ ... "scripts": { "test": "jest" } ... }Running npm test
works as expected (currently it runs 14 tests).
How do I test a single file, e.g. test app/foo/__tests__/bar.spec.js
?
I have tried running npm test app/foo/__tests__/bar.spec.js
(from the project root), but I get the following error:
npm ERR! Error: ENOENT, open '/node_modules/app/foo/tests/bar.spec.js/package.json'
All you have to do is chant the magick incantation:
npm test -- SomeTestFileToRun
The standalone --
is *nix magic for marking the end of options, meaning (for NPM) that everything after that is passed to the command being run, in this case jest
. As an aside, you can display Jest usage notes by saying
npm test -- --help
Anyhow, chanting
npm test -- Foo
runs the tests in the named file (FooBar.js
). You should note, though, that:
Jest treats the name as case-sensitive, so if you're using a case-insensitive, but case-preserving file system (like Windows NTFS), you might encounter what appears to be oddness going on.
Jest appears to treat the specification as a prefix.
So the above incantation will
FooBar.js
, Foo.js
and FooZilla.js
foo.js