Jest的配置可以在您的
package.json
文件中定义 项目,或者通过jest.config.js
文件,或者通过--config <path/to/js|json>
选项。
如果在两个或多个位置定义了配置设置会怎样?是将不同的配置设置合并在一起,还是可以将它们静默忽略?如果合并或忽略,它们是否具有定义明确或临时的优先级?
答案 0 :(得分:0)
要回答完整问题的子集(对于一系列有意义的测试而言可能太复杂了,因为要花很多时间才能解决这些问题),如果是开玩笑的命令行--config
(或{{ 1}}),然后忽略package.json开玩笑的设置。
更具体地说,要得出这个结论,首先我在-c
中尝试了jest -c jest/config.js
和setupFilesAfterEnv
:
jest/config.js
文件module.exports = {
rootDir: '../',
setupFilesAfterEnv: ['./jest/global-setup.js'],
}
包含:
jest/global-setup.js
这在运行enzyme设置中具有预期的效果。在const Enzyme = require('enzyme')
const Adapter = require('enzyme-adapter-react-16')
require('jest-enzyme/lib/index.js')
Enzyme.configure({ adapter: new Adapter() })
文件中将其注释掉,并将等效内容放入jest/config.js
中,将被跳过/忽略:
package.json
其次,我在"jest": {
"setupFilesAfterEnv": ["./jest/global-setup.js"],
},
中尝试了jest -c jest/config.js
和一个jest fileTransformer.js文件以及以下内容:
jest/config.js
然后跳过/忽略package.json的等效jest.transform
设置:
transform: {
'^.+\\.js$': 'babel-jest',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/jest/file-transformer.js',
},
第三,将我的npm scripts
"jest": {
"transform": {
"^.+\\.js$": "babel-jest",
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/jest/file-transformer.js"
}
},
命令从test
更改为jest -c jest/config.js
,并且我的jest
包括以下内容,导致package.json
设置为按预期工作:
package.json
的测试