gpt4 book ai didi

config - Jest 项目每个项目的不同设置文件不起作用

转载 作者:行者123 更新时间:2023-12-04 15:50:27 24 4
gpt4 key购买 nike

我的文件结构是这样的:

Product/
|- httpdocs/
|- jest.config.js
|- modules/
|- modules1/
|- jest.config.js
|- modules2/
|- jest.config.js
|- modules3/
|- jest.config.js

在每个 jest.config.js在模块下,我对该特定模块进行了一些配置,例如: setupFiles: ['<rootDir>/testHelpers/setup.js'] .

在我的顶部 jest.config.js (在 httpdocs 下)我已经定义了我的不同项目:
projects: [
'<rootDir>/modules/module1',
'<rootDir>/modules/module2',
'<rootDir>/modules/module3'
]

当我运行 jesthttpdocs 下,测试失败,因为我的 module/jest.config.js 中忽略了设置文件(和其他配置)文件。

当我运行 jestmodule1 下, 所有测试成功

我做错了什么还是选择了 projects不能这样工作?

-------- 编辑 1 --------

所以我像@cimenx 建议的那样重构了我的配置。
Product/
|- jest.config.js
|- httpdocs/
|- modules/
|- modules1/
|- foo/
|- bar/
|- foobar.js
|- foobar.test.js
|- modules2/
|- ...

我的 jest.config.js 文件如下所示:
module.exports = {
rootDir: './httpdocs/modules',
testPathIgnorePatterns: ['/node_modules/', '/smsc/'],
projects: [
{
displayName: 'module1',
testMatch: ['<rootDir>/module1/*.test.js']
},
{
displayName: 'module2',
testMatch: ['<rootDir>/module2/*.test.js']
}
]
};

目前的问题是 jest 在我的模块中找不到任何测试。

- - - - 解决方案 - - - -

当我写我的 编辑 1 ,我尝试了其他一些配置...
显然我的 <rootDir>始终是我的 jest.config.js 所在的目录文件在。

我的解决方案是将配置文件的整个路径写入模块,而不使用选项 rootDir: './some/path'
module.exports = {
projects: [
{
displayName: 'module1',
testMatch: ['<rootDir>/httpdocs/modules/module1/**/*.test.js']
},
{
displayName: 'module2',
testMatch: ['<rootDir>/httpdocs/modules/module2/**/*.test.js']
}
]
};

谢谢您的帮助!

最佳答案

可能您应该删除所有 jest.config.js在每个模块上并重写 Product/httpdocs/jest.config.js变成这样:

module.exports = {
projects: [
{
displayName: "modules1",
setupTestFrameworkScriptFile: '<rootDir>/modules/modules1/jest.setup.js',
/*
Jest config that is specific for modules1
*/
testMatch: ["<rootDir>/modules/modules1/*.spec.js"],
},
{
displayName: "modules2",
setupTestFrameworkScriptFile: '<rootDir>/modules/modules2/jest.setup.js',
/*
Jest config that is specific for modules2
*/
testMatch: ["<rootDir>/modules/modules2/*.spec.js"]
}
]
}

关于config - Jest 项目每个项目的不同设置文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52308162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com