使用 cypress 进行测试时,package.json 中未显示 Mocha 版本

man*_*ore 4 version repository mocha.js package.json cypress

我正在使用柏树。但据我了解,柏树是建在摩卡之上的。所以,我想检查我正在处理的项目使用的摩卡版本。我正准备进行package.json搜索,但没有发现摩卡依赖项。这是否意味着 mocha 内置于 cypress 中?那么我如何确定内部使用的cypress mocha版本呢?

Fod*_*ody 5

更新

正如 Drew 指出的那样,Cypress 存储库下的各种软件包中使用了许多版本的 Mocha。

我不确定dependenciesvsdevDependencies是一个可靠的指标,因为 Cypress 使用 Mocha 库制作了修改版本。

以下是 Cypress 12.16.0 存储库中的软件包示例:

  • npm/webpack-dev-server: "mocha": "^9.2.2",
  • npm/vite-dev-server: "mocha": "^9.2.2",
  • graphql: "摩卡": "^8.1.3",
  • 启动器:“摩卡”:“^8.1.3”,
  • 工具/电子mksnapshot:“摩卡”:“^ 9.2.0”,
  • webpack-batteries-included-preprocessor: "mocha": "^8.1.1",
  • webpack-预处理器: "mocha": "^7.1.0",
  • 服务器:“mocha”:“7.1.0”等

所以这取决于您正在使用的 Cypress 套件的一部分(组件测试器、e2e 运行器、模块 api)

我用于 e2e 测试的链接是驱动程序包

  "devDependencies": {
    ...
    "mocha": "7.0.1",
Run Code Online (Sandbox Code Playgroud)

当前有效的另一种方法是查询全局Cypress对象。

it('log the Mocha version in use', function() { 
  console.log(Cypress.mocha._mocha.version)   // 7.0.1 for Cypress 12.16.0
})
Run Code Online (Sandbox Code Playgroud)

其中Cypress.mocha是实例对象,Cypress.mocha._mocha是类定义(在 devtools 中显示为Mocha类型)。

这些属性可能会在将来被删除。