Can someone give an example on how to use jest globals?
{
...
"jest": {
"globals": {
"__DEV__": true,
}
}
...
}
Do I specify the globals in the package.json file or do I create a folder with a js file where the globals should be defined?
Thanks
For me using the Jest config file worked much better because it is a Javascript file itself so it gives full freedom:
After running
jest --init
in your folder, in thejest.config.js
file Jest makes, scroll down to find:Uncomment the second line and put all your globals in there.
If you are using create-react-app, you must use the
src/setupTests.js
file instead of pointing to a file via setupFiles in the package.json file.https://create-react-app.dev/docs/running-tests/#srcsetuptestsjs
In the
src/setupTests.js
file, you can define globals like so:Yep. You put the globals in the package.json. For example, here's an excerpt from the default react-native jest configuration:
This will make the variables available globally when the tests are run.
A cleaner way to add globals would be to set
"setupFiles": "<rootDir>/private/jest/setup.js"
in package.json, and then create a setup.js file that setsglobal.__DEV__ = true
.This pattern is helpful for making 3rd party libraries available as globals to Jest tests as well (like Backbone, jQuery, lodash, etc.) - eg.
global.Backbone = require('backbone');
and so on.(Re-submitting this as an answer as it was previously just a comment under Michael Helvey's answer.)