NX与Jest无法识别所有.spec.tsx结尾测试文件问题咨询
NX中Jest测试文件匹配规则的配置位置
负责Jest识别测试文件的配置主要在两个地方,优先级从高到低:
项目本地Jest配置文件:每个NX项目目录下的
jest.config.ts(或.js),核心配置字段是testMatch或testRegex:export default { // 其他配置... testMatch: [ '**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)' // 这条规则匹配所有.spec.tsx/.test.tsx等文件 ], // 也可以用正则形式的testRegex testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[tj]sx?$' };只要这里的规则包含
.spec.tsx后缀,Jest就能识别到你的测试文件。项目的project.json配置:在项目根目录的
project.json中,test目标的options里也可以直接指定测试文件匹配规则,会覆盖Jest配置文件的对应设置:{ "targets": { "test": { "executor": "@nx/jest:jest", "options": { "jestConfig": "apps/your-project/jest.config.ts", "testMatch": ["**/*.spec.tsx"] // 直接指定匹配所有.spec.tsx文件 } } } }
另外,根目录的jest.preset.js是NX的全局Jest预设,一般不直接修改测试文件匹配规则,除非你要统一所有项目的规则。
内容的提问来源于stack exchange,提问作者MrBigboka
相关产品推荐
相关产品推荐

