You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jest如何配置testMatch匹配所有*.test.{ts|tsx}并排除data.test相关文件

解决方案

Jest 支持在匹配规则中使用!开头的否定规则排除指定文件,你可以直接在现有testMatch配置中追加排除规则即可,调整后的完整配置如下:

"testMatch": [
  "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
  "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}",
  "!<rootDir>/src/**/data.test.{ts,tsx}"
]

规则说明

  • 以!开头的规则为排除规则,Jest 会按顺序执行所有匹配规则,先命中包含规则的文件如果命中后续的排除规则,会被从测试列表中移除
  • 上述第三条规则会排除项目src目录下所有层级中命名为data.test.ts或data.test.tsx的文件

如果你不需要匹配.spec后缀、以及.js/.jsx后缀的测试文件,只需要保留*.test.{ts|tsx}的匹配规则,可以进一步精简配置:

"testMatch": [
  "<rootDir>/src/**/__tests__/**/*.test.{ts,tsx}",
  "<rootDir>/src/**/*.test.{ts,tsx}",
  "!<rootDir>/src/**/data.test.{ts,tsx}"
]

备选方案:使用testPathIgnorePatterns配置

如果你不想修改原有testMatch规则,也可以单独新增testPathIgnorePatterns配置项实现排除效果:

"testPathIgnorePatterns": [
  "/data\\.test\\.(ts|tsx)$"
]

内容的提问来源于stack exchange,提问作者vdj4y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:57:01