内置库
info
Cypress 集成了众多开源测试库,从底层为平台提供稳定性和熟悉度。如果您曾使用 JavaScript 进行测试,会在这个列表中看到许多熟悉的身影。
Mocha
http://mochajs.org/Cypress 采用了 Mocha 的 bdd
语法,完美适配集成测试和单元测试。您编写的所有测试都基于 Mocha 提供的基础框架,包括:
此外,Mocha 提供了出色的 async
支持。Cypress 对 Mocha 进行了扩展,消除了粗糙边缘、怪异边界情况、错误和错误信息。这些改进都是完全透明的。
info
Chai
http://chaijs.com/Mocha 提供了测试结构框架,而 Chai 则让我们能够轻松编写断言。Chai 提供了可读性强的断言和出色的错误信息。Cypress 在此基础上进行了扩展,修复了几个常见陷阱,并使用主题和.should()
命令封装了 Chai 的 DSL。
note
Chai-jQuery
https://github.com/chaijs/chai-jquery编写集成测试时,您会经常与 DOM 打交道。Cypress 集成了 Chai-jQuery,它自动为 Chai 扩展了特定的 jQuery 链式方法。
Sinon.js
https://github.com/sinonjs/sinon编写单元测试或类集成测试时,经常需要存根和监视方法。Cypress 提供了两个方法:cy.stub()
和 cy.spy()
,分别返回 Sinon 的存根和间谍。
Cypress 还暴露了一个工具,可以在测试中使用 Cypress.sinon
调用 sinon
。
Sinon-Chai
https://github.com/cypress-io/sinon-chai使用 stubs
或 spies
时,您通常会希望在编写 Chai 断言时使用它们。Cypress 集成了 Sinon-Chai,它扩展了 Chai,允许您编写断言来验证 stubs
和 spies
。
其他工具库
Cypress 还在 Cypress
对象上集成了以下工具。这些工具可以在测试中的任何地方使用。
Cypress._
(lodash)Cypress.$
(jQuery)Cypress.minimatch
(minimatch.js)Cypress.Blob
(Blob 工具)Cypress.Buffer
(Buffer 工具)Cypress.Promise
(Bluebird)