Cypress继承Mocha 的那些特性介绍

简介: Cypress继承Mocha 的那些特性介绍

大家好,我是阿萨。 上一次我们学习了Cypress 使用的是chai的断言语法。所以写Cypress的断言很简单。本节课我们学习下Cypress 和Mocha 共同的特性。


Mocha 和Cypress 有哪些方便写测试用例的关键字呢?


Cypress的测试接口借鉴了Mocha。Cypress采用了Mocha的BDD语法,所以完全适合单元和集成测试。


Cypress提供了describe(), context(), it()和specify();Describe()提供了一种使测试更容易阅读和组织的方法。


一. describe


describe()基本上是对测试用例进行分组。我们可以按照我们认为必要的  测试用例范围将测试嵌套在组中。description()有两个参数,第一个是测试组的名称,第二个是回调函数。同一个文件中可以有多个describe。同样,一个describe可以声明在另一个describe中。


二. context 与describe


context()只是describe()的别名,并且具有相同的行为。可以参考下面的例子


三. it


it()用于单个测试用例。it()有两个参数,一个字符串解释测试应该做什么,一个回调函数包含我们实际的测试:


四.it 与 specify


specify()是it()的别名,所以选择最适合关键字。参考如下例子。

 describe('1st Describe to show 1st suite ', () => {
    describe('Describe Inside Describe to show nested suite', () => {
        it('first test inside', () => {
            cy.log('first test inside')
            assert.equal(true, true)
        })
    })
    it('1st test', () => {
         cy.log('1st test')
        assert.equal(true, true)
    })
    specify('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
    it('3rd test', () => {
        cy.log('3rd test')
        assert.equal(true, true)
    })
})
 context('2nd suite', () => {
    it('first test', () => {
        cy.log('first test')
        assert.equal(true, true)
    })
    it('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
    it('3rd test', () => {
        cy.log('3rd test')
        assert.equal(true, true)
    })
 })

    () =>我们声明回调的函数,回调函数是作为参数传递给另一个函数的函数。

上面例子的执行结果。


image.png

相关文章
|
6月前
Cypress那些好用的写法
Cypress那些好用的写法
|
JavaScript 前端开发
FastAdmin中RequireJs是如何调用的
FastAdmin中RequireJs是如何调用的
477 0
|
测试技术
Cypress继承Mocha 的那些特性介绍
大家好,我是阿萨。 上一次我们学习了Cypress 使用的是chai的断言语法。所以写Cypress的断言很简单。本节课我们学习下Cypress 和Mocha 共同的特性。
187 0
Cypress继承Mocha 的那些特性介绍
Cypress 好用的用法
大家好,我是阿萨。之前学习了cypress的最基本的用法。可是有些同学还是反馈不会写cypress,怎么办? 今天就列举一些常见的cypress的写法。
278 0
|
设计模式 前端开发 JavaScript
使用 React 和 TypeScript something 编写干净代码的10个必知模式
JavaScript 是一种松散的类型化语言,因此,它捕获了运行时。这样做的结果就是 JavaScript 错误被捕获得非常晚,这可能导致严重的 bug。
101 0
|
JavaScript 前端开发 测试技术
JavaScript单元测试的“抹茶”组合:Mocha和Chai
mocha是一个javascript的测试框架,chai是一个断言库,两者搭配使用更佳,所以合称“抹茶”(其实mocha是咖啡)。“抹茶”特点是: 简单,node和浏览器都可运行。
719 0
JavaScript单元测试的“抹茶”组合:Mocha和Chai
|
JavaScript 前端开发 测试技术
Cypress系列(7)- Cypress 编写和组织测试用例篇 之 Mocha的介绍
Cypress系列(7)- Cypress 编写和组织测试用例篇 之 Mocha的介绍
245 0
Cypress系列(7)- Cypress 编写和组织测试用例篇 之 Mocha的介绍
|
测试技术
Cypress系列(8)- Cypress 编写和组织测试用例篇 之 钩子函数Hook
Cypress系列(8)- Cypress 编写和组织测试用例篇 之 钩子函数Hook
231 0
Cypress系列(8)- Cypress 编写和组织测试用例篇 之 钩子函数Hook
TypeScript 模块 以及模块化封装DB库 封装类似Mongoose风格的类库
TypeScript 模块 以及模块化封装DB库 封装类似Mongoose风格的类库