Vitest监听模式下有时不自动重跑测试的原因咨询
Vitest监听模式自动运行不稳定的排查方案
检查Vitest监听配置
打开vitest.config.js,确认watch模式启用,同时合理配置监听/排除目录,避免资源浪费或漏监听:export default { test: { watch: true, watchExclude: ['node_modules/**', 'dist/**'], watchInclude: ['src/**/*.{js,ts,vue}', 'tests/**/*.{js,ts}'] // 根据你的项目结构调整 } }调整系统文件监听限制
Linux/macOS系统默认文件监听数量有限,可能导致Vitest无法及时捕获文件变化:- macOS执行命令:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - Linux可通过修改
/etc/sysctl.conf中的fs.inotify.max_user_watches参数,调整后执行sudo sysctl -p生效。
- macOS执行命令:
排查VSCode插件干扰
暂时禁用格式化、lint类插件,这类工具可能在保存时多次修改文件,导致Vitest监听逻辑混乱。测试后如果恢复正常,再逐个排查具体插件。升级Vitest版本
V0.23.4属于旧版本,存在不少已知的监听模式bug,建议升级到最新稳定版:npm install vitest@latest --save-dev升级后重新运行
npm run test:unit,验证自动运行稳定性。确认测试命令配置
检查package.json中的test:unit命令,显式添加--watch参数确保监听模式生效:{ "scripts": { "test:unit": "vitest --watch" } }
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

