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

Windows下含\r路径的Jest测试执行失败问题求助

解决PowerShell自动补全Jest路径不匹配测试用例的问题

问题根源

你的Jest配置中testMatch的正则表达式仅匹配正斜杠(/)分隔的路径,但PowerShell自动补全生成的是Windows风格的反斜杠(\)路径(比如.\r.test.js),导致正则无法识别该文件为测试文件,因此提示无测试用例。

修复方案

修改testMatch中的正则,使其同时兼容正斜杠和反斜杠路径。具体做法是将路径分隔符的匹配逻辑调整为支持两种分隔符:

修改后的Jest配置

module.exports = {
    preset: '@shelf/jest-mongodb',
    transform: { '^.+\\.[tj]s?(x)?$': ['ts-jest', { rootDir: '.' }] },
    // 调整testMatch的正则,支持/和\两种路径分隔符
    testMatch: [
        '**[/\\\\]tests[/\\\\]__tests__[/\\\\]**[/\\\\]*.[jt]s?(x)',
        '**[/\\\\]?(*.)+(spec|test).[jt]s?(x)'
    ],
    setupFilesAfterEnv: ['<rootDir>/setup-jest.js'],
};

逻辑说明

  • 在JavaScript正则中,反斜杠需要双重转义(\\\\),所以[/\\\\]会被解析为匹配单个/或\
  • 把原配置中所有的/替换为[/\\\\],让正则能同时识别两种路径分隔符

验证

修改配置后,执行PowerShell自动补全生成的jest .\r.test.js命令,Jest就能正确识别该测试文件并执行用例了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:53:19