NRWL是否支持Cypress 10.0.0版本?NRWL下Cypress迁移咨询
1. NRWL 对 Cypress 10.0.0 的支持情况
你当前使用的@nrwl/cypress@14.1.7版本不支持Cypress 10.0.0,该版本最高适配Cypress 9.x分支。
@nrwl/cypress 从14.3.0正式版本开始,原生兼容Cypress 10.x全系列版本,升级到该版本及以上即可使用Cypress 10的相关特性。
2. NRWL 项目下 Cypress 9.x 升级到 10.x 的操作步骤
不要直接运行Cypress官方自带的升级引导,该引导适配通用项目结构,会破坏Nx的目录约定,按照以下步骤操作即可:
- 第一步:升级依赖版本
同大版本升级兼容性风险最低,先将@nrwl/cypress升级到14.3.0及以上的14.x分支版本,再升级cypress到10.x版本,对应执行命令:
如果使用yarn/pnpm,替换成对应包管理器的安装命令即可。npm install @nrwl/cypress@^14.3.0 --save-dev npm install cypress@^10.0.0 --save-dev - 第二步:运行Nx内置的Cypress10迁移生成器
在项目根目录执行以下命令,工具会自动完成绝大多数配置迁移工作:
该命令自动完成的操作包括:nx g @nrwl/cypress:migrate-to-cypress-10- 扫描仓库内所有关联的Cypress e2e项目
- 将旧版
cypress.json配置转换为Cypress10要求的cypress.config.js/cypress.config.ts格式,自动适配Nx的目录规则调整specPattern、supportFile、截图/视频输出路径等配置 - 将原
integration目录下的测试用例文件移动到Cypress10默认的e2e目录 - 更新对应项目
project.json中的cypress执行器配置,移除Cypress9专属的废弃参数
- 第三步:手动补全特殊自定义配置
自动迁移无法覆盖自定义程度较高的配置,需要手动核对调整:- 原写在
plugins/index.js中的自定义插件逻辑,需要迁移到cypress.config.js内的setupNodeEvents函数中 - 原
cypress.json中自定义的devServer、webpack预处理器等特殊配置,需要手动放到配置文件的e2e节点下 - 执行
nx run <你的e2e项目名>:open启动Cypress运行器,验证用例是否能正常加载运行,如有路径报错按照控制台提示微调即可
- 原写在
注意:如果你的项目后续要升级到更新的Nx大版本(15.x及以上),这些版本已经默认内置Cypress10+支持,不需要额外做迁移操作,直接跟着Nx的版本迁移脚本走即可。
内容的提问来源于stack exchange,提问作者Sofi
相关产品推荐
相关产品推荐

