Cypress测试时package.json无Mocha版本的查询方式
结论
Mocha确实是Cypress的内置依赖,你在自己项目的package.json里找不到对应条目是正常现象——Cypress没有把Mocha列为需要用户手动安装的peer依赖,而是直接把Mocha打包进了自身的依赖树中。Cypress运行测试时只会使用它内置的Mocha版本,不会读取你项目根目录手动安装的Mocha,额外手动安装Mocha反而可能引发依赖冲突,导致测试运行出现异常。
查询内置Mocha版本的方法
任选下面一种方式查询即可,结果均为当前环境的准确值:
- 用包管理器查询嵌套依赖
在项目根目录执行对应包管理器的依赖查询命令:- npm 环境执行:
npm ls mocha - yarn 环境执行:
yarn list mocha - pnpm 环境执行:
pnpm ls mocha
输出结果中归属在cypress依赖层级下的mocha版本号,就是Cypress内置使用的版本。
- npm 环境执行:
- 直接读取本地Cypress包的配置
打开本地路径下的node_modules/cypress/package.json文件,在dependencies字段中找到mocha对应的版本条目即可。 - 运行简易脚本快速输出
在项目根目录新建临时脚本,执行后可直接打印版本号:// 保存为check-mocha.js后,执行 node check-mocha.js const cypress = require('cypress') console.log('当前Cypress内置Mocha版本:', cypress.pkg.dependencies.mocha)
别直接搜网上零散的Cypress-Mocha版本对应表来猜版本,Cypress哪怕是小版本迭代也可能升级内置依赖,以本地实际安装包的查询结果为准。
内容的提问来源于stack exchange,提问作者manymanymore
相关产品推荐
相关产品推荐

