Cypress(5)基于框架Mocha的主要应用

Cypress 继承并扩展了 Mocha

Mocha 提供了什么

  1. 多种接口来定义测试套件,Hooks,单个测试( Individual )
  2. BDD(Behavior-Driven Development,行为驱动开发)
  3. TDD(Test-Driven Development,测试驱动开发
  4. Exports、QUnit、Require

Cypress 采纳了 Mocha 的 BDD 语法
在 Mocha 中,一个 BDD 风格的测试用例看起来是这样的

/// <reference types="Cypress" />
import gatewayPage from "../../pages/baseinfo_manage/gateway_ele"

describe('网关模块', function(){
    beforeEach(() => {
        cy.login()
        cy.visit(gatewayPage.gatewayEle.gatewayUrl)
        console.log("测试前置工作")

        })

    describe("测试套件",function(){
        context("网关新增",function(){
            it("网关新增成功", function(){
                gatewayPage.gatewayDoAdd()
            })
            
        })
        context("网关解绑",function(){
            it("网关解绑成功", function(){
                gatewayPage.gatewaytDoDelete()
            })
        })
    }
    
    )  
    after(function(){
        console.log("测试后置操作")
    })  

})

运行结果如下:
在这里插入图片描述
对于一条可执行的测试用例来说,有以下两个必要的组成部分
describe()
代表测试套件,里面可以设定 context() ,也可以包括多个测试用例 it() ,还能嵌套子测试套件
一个测试套件可以不包括任何钩子函数(Hook),但必须包含至少一条测试用例 it()
it()
代表一条测试用例

常见 Mocha 模块:
Cypress 将 Mocha 硬编码在自己的框架中,所以编写测试用例都是基于 Mocha 提供的如下基本功能模块:
describe() ——测试套件,必须有一个测试用例it()
context() ——和describe()一样
it() ——测试用例
before() ——钩子函数,在所有测试之前打开,比如在所有测试之前打开被测页面
beforeEach() ——钩子函数,在每个测试用例之前执行,用于隔离测试用例
afterEach() ——钩子函数,在每个测试用例之后执行
after() ——钩子函数,在所有测试之后执行
.only() ——指定执行测试套件或测试用例,describe.only() 或者 context.only()或者it.only()
.skip() ——跳过制定测试套件或测试用例,describe.skip() 或者 context.skip()或者it.skip()

钩子函数也可以用在support/index.js,用于全局操作,比如在测试之前处理测试数据等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值