有人可以举个例子说明如何使用 Jest 全局变量吗?
{
...
"jest": {
"globals": {
"__DEV__": true,
}
}
...
}
我应该在package.json文件中指定全局变量,还是创建一个JavaScript文件的文件夹来定义全局变量?
谢谢
有人可以举个例子说明如何使用 Jest 全局变量吗?
{
...
"jest": {
"globals": {
"__DEV__": true,
}
}
...
}
我应该在package.json文件中指定全局变量,还是创建一个JavaScript文件的文件夹来定义全局变量?
谢谢
是的,你需要将全局变量放在 package.json 中。例如,这里是默认的 React Native Jest 配置的一部分:
"jest": {
"globals": {
"__DEV__": true,
"__RCTProfileIsProfiling": false
},
...
},
当运行测试时,这将使变量在全局范围内可用。
global.__DEV__
。 - sajinshrestha"setupFiles": "<rootDir>/private/jest/setup.js"
,然后创建一个文件来设置global.__DEV__ = true
,是一种更加干净的添加全局变量的方式。这种模式对于使第三方库在Jest测试中作为全局变量可用非常有帮助(例如Backbone、jQuery、lodash等) - 例如: global.Backbone = require('backbone');
。 - nickangsetupFiles
需要被定义为一个数组。 - flaky对于我来说,使用Jest配置文件效果更好,因为它本身就是一个JavaScript文件,所以可以完全自由地进行操作:
在您的文件夹中运行jest --init
后,在Jest创建的jest.config.js
文件中向下滚动以查找:
// A set of global variables that need to be available in all test environments
// globals: {},
取消第二行的注释并将所有全局变量放在其中。
src/setupTests.js
文件,而不是通过package.json文件中的setupFiles指向文件。在src/setupTests.js
文件中,您可以这样定义全局变量:。请参考https://create-react-app.dev/docs/running-tests/#srcsetuptestsjs。global.TIMEOUT = 3000;