创建新测试时Jest查找已删除测试文件报错,原因是什么?
解决Jest持续查找已删除测试文件的问题
这种情况我之前也碰到过,大概率是Jest的缓存或者残留文件在搞鬼,给你几个靠谱的解决步骤:
清空Jest缓存:Jest默认会缓存测试相关的文件来提速,删除测试文件后缓存没同步更新是最常见的原因。直接在终端运行:
jest --clearCache如果你是通过npm脚本运行测试的,就用:
npm test -- --clearCache清理残留的快照文件:如果那个被删除的
PromoPage3.test.js之前生成过快照,对应的.snap文件可能还留在__snapshots__子文件夹里。找到并删除这个快照文件,再重新跑测试试试。彻底终止Jest进程:有时候Jest的后台进程没完全退出,还抱着旧的文件路径不放。在Linux/macOS上可以用命令杀掉所有Jest进程:
pkill jestWindows用户可以打开任务管理器,找到Jest相关的进程结束掉,再重新启动测试。
检查Jest配置:偶尔也会碰到配置里硬编码了测试文件路径的情况,打开你的
jest.config.js或者package.json里的Jest配置项,看看testMatch、testPathIgnorePatterns这些字段有没有意外引用到那个已删除的文件路径。终极方案:清理模块缓存:如果上面的方法都不管用,可以试试删除
node_modules/.cache文件夹,然后重新安装依赖(不过这个是最后手段,因为会清空所有Node模块的缓存)。
下次删除测试文件的时候,记得顺便把对应的快照文件也删掉,能避免不少这类麻烦~
内容的提问来源于stack exchange,提问作者Andrew Horn
相关产品推荐
相关产品推荐

