在create-react-app
样板中,它使用相同的package.json
文件同时包含服务器和客户端代码。我想有三个独立的开玩笑配置:客户端单元测试,服务器单元测试和服务器集成测试。不幸的是,我无法让这个工作。我的计划是为每个选项提供yarn run
命令,然后使用--config
CLI选项指定配置为jest。但后来我遇到了this roadblock,它发生在v20和v21上,并且没有显示任何进展。基本上,人们报告使用--config
阅读配置文件的问题,而后备是使用配置package.json
。不幸的是,您只能指定一个配置文件。
有没有人设法让这个工作,如果有,你能描述你的设置(开玩笑的版本等)。我想知道我是否需要降级到v19。或者,我采取了错误的方法吗?
答案 0 :(得分:10)
显然,jest的新功能是--projects
选项。您可以在package.json文件中执行以下操作:
"jest": {
"projects": [
"src/client/jest.config.js",
"src/server/unit.jest.config.js",
"src/server/int.jest.config.js",
]
}
然后在src/client/jest.config.js
中,您可以定义特定的配置:
module.exports = {
name: 'client',
displayName: 'client',
// NOTE: if you don't set this correctly then when you reference
// it later in a path string you'll get a confusing error message.
// It says something like' Module <rootDir>/config/polyfills.js in
// the setupFiles option was not found.'
rootDir: './../../',
testMatch: [
"<rootDir>/src/server/**/__tests__/*.unit.{js,jsx}",
"<rootDir>/src/server/**/__tests__/unit/*.{js,jsx}"
],
// etc...
};
以下是描述该功能的帖子: https://facebook.github.io/jest/blog/2017/05/06/jest-20-delightful-testing-multi-project-runner.html