Visual Studio打开Cypress Test Runner运行旧版spec.js文件如何处理?
Cypress Test Runner 重载后运行旧版spec.js排查方案
1. 本地缓存问题排查
- 清空Cypress运行缓存:在项目根目录执行命令
npx cypress cache clear - 清空测试浏览器缓存:如果使用Cypress默认的Electron浏览器,打开Test Runner后按
Ctrl+Shift+Del调出清除缓存面板,清除所有时间范围的缓存文件后重启Test Runner - 删除项目下的
.next、dist等打包产物目录,再重新启动测试
2. 文件监听与热重载冲突排查
- 确认修改后的spec.js文件已正常落盘:可修改文件后用其他编辑器打开同一份spec.js,确认内容为最新版本,排除VS Code自动保存、格式化插件异常导致的修改未保存问题
- 临时关闭Cypress自动重载功能:在
cypress.config.js中添加配置项watchForFileChanges: false,手动刷新后运行测试,确认是否还会加载旧版本 - 排查后台编译工具冲突:确认是否有webpack、babel等编译工具后台运行,将旧版本spec.js编译后输出到Cypress读取目录,可修改Cypress的spec文件匹配路径到源文件目录,而非编译后的产物目录
3. 配置文件冲突排查
- 确认
cypress.config.js中的specPattern配置指向的目录正确,排查是否同时匹配到了多个位置的同名spec.js文件(例如同时匹配了业务目录和备份目录的同文件名文件) - 检查是否存在多环境Cypress配置覆盖,导致运行时加载了其他路径的spec文件
- 查看Cypress运行日志定位加载路径:启动Test Runner时添加
--debug参数,执行命令npx cypress open --debug,在日志中搜索spec.js的加载路径,确认最终加载的文件物理路径是否和修改的文件路径一致
4. 依赖版本问题排查
- 确认项目本地Cypress依赖和全局安装的Cypress版本一致:分别执行
npx cypress -v和cypress -v查看版本号,如果版本不一致,执行npm uninstall -g cypress卸载全局Cypress,统一使用项目本地版本运行测试 - 删除项目的
node_modules目录和package-lock.json/yarn.lock文件,重新执行npm install安装依赖后再运行测试
内容的提问来源于stack exchange,提问作者Anna P
相关产品推荐
相关产品推荐

