我们最近将两个不同的 repos 迁移到一个 monorepo 中。每个都使用 jest 和自己的自定义配置,在他们自己的 package.json 文件中定义。
我想使用该--projects
标志从 monorepo 的根目录跨两个项目运行 Jest。我jest.config.js
在 monorepo 的根目录中添加了一个文件:
module.exports = {
projects: ['<rootDir>/projectA', '<rootDir>/projectB']
};
跑步者成功地为两个项目选择了测试,但它似乎没有使用每个项目的自定义配置。例如,在“projectA”中,我使用的是 babel-plugin-module-resolver。当我单独在该项目中运行 jest 时,babel-jest 成功获取了该插件并且它工作正常,但是当我在多项目模式下从根目录运行它时,我收到“找不到模块...”错误,表明插件没有被使用。
同样,在“projectB”中,我使用的是自定义setupTestFrameworkScriptFile
. 在这个项目中运行 jest 可以很好地运行该文件,但从根目录运行时会被忽略。
我对多项目模式的理解是每个单独的项目都应该保持自己的设置/配置不变。我错过了什么?我是否也需要在根目录中配置这些?