I'm currently employing the use of Jest in my CRA application. I see that CRA opted for the use of filename.test.js
format when writing tests but I find this approach a bit cumbersome on the eyes and brain. I found out that you can write tests in a folder named __tests__
and jest will automatically run the tests in that folder. I like this approach. My question now is, what is the standard when using this setup? Usually, my src
folder is set up as such:
src └── components ├── some1ComponentDir └── some2ComponentDir
Do I create a __tests__
folder at each level or do I mock the structure of my src
folder inside of my __tests__
folder located inside the src
folder?
If you think this is a silly question, please just ignore it and move on. Thanks for any help.
src/file. test. js mentioned first in the Getting Started docs, and is great for keeping tests (especially unit) easy to find next to source files.
The simplest folder structure for this case seems to be the “group files by their types” option mentioned in the React docs. This makes our lives easy: Components go in the components folder, hooks in the hooks folder, and contexts in the contexts folder.
The conventions for Jest, in order of best to worst in my opinion:
src/file.test.js
mentioned first in the Getting Started docs, and is great for keeping tests (especially unit) easy to find next to source filessrc/__tests__/file.test.js
lets you have multiple __tests__
directories so tests are still near original files without cluttering the same directories__tests__/file.test.js
more like older test frameworks that put all the tests in a separate directory; while Jest does support it, it's not as easy to keep tests organized and discoverableSince you don't want 1, it sounds like 2 is your best option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With