jest 监视模式可自动检测文件变化并重跑测试,支持 --watch(交互式)和 --watchall(全量监听);常用操作包括 a(全跑)、p(文件过滤)、t(测试名搜索);可配合 --coverage、--verbose 及 watchpathignorepatterns 优化体验。

Jest 的监视模式(Watch Mode)能自动检测文件变化并重新运行相关测试,非常适合开发时实时反馈。启用它不需要额外安装,只要项目已配置 Jest 即可。
启动监视模式
在项目根目录下运行以下命令之一:
- npx jest --watch:启动交互式监视模式,支持快捷键操作
- npx jest --watchAll:监听所有测试文件,任一源码或测试改动都会触发全量重跑
- 如果 package.json 中有 "test": "jest" 脚本,可直接运行 npm test -- --watch
常用监视模式操作
进入监视模式后,终端会显示交互菜单,按提示输入对应字母即可:
- 按下 a 运行全部测试
- 按下 p 按文件名正则过滤(例如输入 user 只跑包含 user 的测试文件)
- 按下 t 按测试名称匹配(支持模糊搜索,如输入 renders)
- 按下 q 或 Ctrl+C 退出
- 按下 Enter 返回初始菜单
提升监视体验的小技巧
- 添加 --coverage 参数(如 npx jest --watch --coverage)可在每次运行后更新覆盖率报告
- 配合 --verbose 查看每个测试用例的详细执行路径,便于定位失败位置
- 在 jest.config.js 中设置 watchPathIgnorePatterns 排除临时文件(如 ["/node_modules/", "/dist/"]),避免误触发
- 使用 --watchman=false 在某些 Docker 或 WSL 环境中可解决监听失效问题
注意文件监听范围
Jest 默认只监听 .js、.jsx、.ts、.tsx 和测试文件(如 .test.js)。若你修改了 JSON 配置、CSS 模块或图片等非 JS 文件,Jest 不会自动重跑——此时需手动按 a 或保存一个被监听的源码文件来触发。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











