Jest 中跳过测试文件应通过配置而非手动修改:使用 testPathIgnorePatterns 忽略路径(如 <rootDir>/src/test-utils/),或 testMatch 精确匹配(如 <rootDir>/src/**/__tests__/**/*.test.js),命令行参数可临时覆盖,避免注释或重命名等不推荐做法。

在 Jest 中跳过部分测试文件,不是靠修改单个用例的 .skip,而是通过配置让 Jest **根本不加载、不运行**某些文件或目录。核心方式是使用 testPathIgnorePatterns 或 testMatch 精确控制扫描范围。
用 testPathIgnorePatterns 忽略特定路径
这是最常用、最稳妥的方式。它接收一个正则表达式数组,匹配到的文件路径将被 Jest 完全跳过(不解析、不执行)。
- 在
jest.config.js中添加:
testPathIgnorePatterns: [
"<rootDir>/src/test-utils/",
"<rootDir>/legacy-tests/",
"<rootDir>/node_modules/",
"\.e2e\.test\.js$"
],
};
-
<rootDir>是项目根目录的占位符,必须使用; - 最后一条正则
\.e2e\.test\.js$表示忽略所有以.e2e.test.js结尾的文件(比如你把端到端测试和单元测试混在一个目录时); - 注意:该配置不影响
collectCoverageFrom,覆盖率统计仍可能包含这些文件——如需一并排除,还要配coveragePathIgnorePatterns。
用 testMatch 精确指定只运行哪些文件
与其“忽略”,不如“只认”。testMatch 直接定义 Jest 扫描并执行的文件模式,未匹配的自动跳过。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 例如,只运行
src/**/__tests__/**/*.test.js和src/**/*.spec.ts:
testMatch: [
"<rootDir>/src/**/__tests__/**/*.test.js",
"<rootDir>/src/**/*.spec.ts"
],
};
- 这样即使目录里有
utils.test.js或old-test.js,也不会被识别为测试文件; - 适合项目中存在多种测试命名风格,但只想跑其中一类的场景。
临时跳过:命令行参数方式
无需改配置,适合调试或 CI 中按需屏蔽:
- 跳过含关键词的测试文件:
jest --testPathIgnorePatterns="legacy|e2e"; - 只运行某类文件:
jest --testMatch="**/unit/**/*test.js"; - 注意:命令行参数会覆盖配置文件中的同名选项,但不会持久化。
不推荐的做法:注释或重命名文件
手动注释 test()、改后缀为 .skip.js 或删掉 .test.js 后缀,看似简单,实则隐患多:
- 容易遗漏,导致测试失守;
- CI 流程无法感知意图,可能误报覆盖率下降;
- 协作时别人不清楚哪些被跳过,降低可维护性。

















