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

如何编写易读正则匹配两个文件路径(Jest测试脚本适用)

解决Jest匹配多目录测试的可读方案

你可以用两种直观的方式实现匹配src/character-copier或out/character-copier目录的测试需求,不需要复杂难懂的正则:

方案一:优化命令行正则(简洁直观)

直接修改package.json中的脚本,把--testPathPattern的正则写成更易读的形式:

"scripts": {
    "test": "jest",
    "test:char": "jest --watchAll --testPathPattern=(src|out)/character-copier"
  }

这里的(src|out)是正则里的分支选择,意思是匹配src或out开头、后面跟着/character-copier的路径,语法简单易懂,完全符合你要的简洁性。

方案二:用Jest配置文件定义路径(可读性拉满)

如果完全不想用正则,可以创建单独的Jest配置文件来明确指定测试路径。比如新建jest.char.config.js:

module.exports = {
  testMatch: [
    // 匹配src目录下的TypeScript测试文件
    "<rootDir>/src/character-copier/**/*.test.ts",
    // 匹配out目录下转译后的JavaScript测试文件
    "<rootDir>/out/character-copier/**/*.test.js"
  ]
};

然后修改package.json的脚本:

"scripts": {
    "test": "jest",
    "test:char": "jest --watchAll --config jest.char.config.js"
  }

这种方式完全通过路径列表指定测试范围,不需要理解正则,可读性最高,适合团队协作时避免正则理解成本。

另外要注意,确保Jest能正确识别转译后的文件,如果你还没配置TypeScript转译,可以在Jest配置中添加transform字段,用ts-jest处理TypeScript文件,但你的问题核心是路径匹配,上面的方案已经能解决需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:01:10