Cypress系列(9)- Cypress 编写和组织测试用例篇 之 钩子函数Hook
如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
Hook
就是常说的钩子函数,在 pytest 框架里面也有 hook 这个概念;接下来就让我们来看看 Mocha 提供的 Hook 函数叭!
Mocha 提供的 Hook 函数
- before()
- beforeEach()
- afterEach()
- after()
hook 的作用
利用钩子函数可以在所有测试用例执行前做一些预置操作(如:准被测试数据、测试环境)
或者在测试结束后做一些后置操作(如:清理测试数据)
hook 具体写法的栗子(比较长,耐心敲,耐心看)

运行结果

知识点
若包含多级测试套件,那么父级套件、祖父级套件声明的 hook 函数会作用于所有子级套件的测试用例,孙子级套件的测试用例...以此类推(如:栗子中的二级套件、孙子级套件)
before()
- 该测试套件下,所有测试用例的统一前置操作
- 它在一个 describe() 或 context() 内只会执行一次,在所有 it() 之前执行
- 在运行结果可以看到是叫 BEFORE ALL

after()
- 该测试套件下,所有测试用例的统一后置操作
- 它在一个 describe() 或 context() 内只会执行一次,在所有 it() 之前执行
- 在运行结果可以看到是叫 AFTER ALL ,而且是在最后一行

beforeEach()
- 该测试套件下,每个测试用例的前置操作
- 一个 describe() 或 context() 内有多少个测试用例 it() ,就会执行几次 beforeEach()
- 在运行结果可以看到是叫 BEFORE EACH

afterEach()
- 该测试套件下,每个测试用例的后置操作
- 一个 describe() 或 context() 内有多少个测试用例 it() ,就会执行几次 afterEach()
- 在运行结果可以看到是叫 AFTER EACH

Cypress系列(9)- Cypress 编写和组织测试用例篇 之 钩子函数Hook的更多相关文章
- flask系列八之请求方法、g对象和钩子函数
一.get方法 ,post方法 post请求在模板中要注意几点: (1)input标签中,要写name来标识这个value的key,方便后台获取. (2)在写form表单的时候,要指定method=' ...
- Cypress系列(2)- Cypress 框架的详细介绍
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html Cypress 简介 基于 JavaSc ...
- Cypress系列(4)- 解析 Cypress 的默认文件结构
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 默认文件结构 在使用 cypress o ...
- Cypress系列(41)- Cypress 的测试报告
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 注意 51 testting 有一篇文章 ...
- Cypress系列(13)- 详细介绍 Cypress Test Runner
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 Test Runner 也叫运行器 ...
- Cypress系列(44)- 命令行运行 Cypress
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 前面也介绍过 Cypress 命令 ...
- Cypress系列(65)- 测试运行失败自动重试
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 重试的介绍 学习前的三问 什么是重试测试 ...
- Cypress系列(67)- 环境变量设置指南
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 常见的环境变量设置方式 可参考这篇文章: ...
- Cypress系列(69)- route() 命令详解
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 作用 管理控制整个网络请求 重要注意事项 ...
随机推荐
- RabbitMQ|异步
目录 RabbitMQ|异步 1 概念|异步 1.1 同步与异步 1.2 比喻 2 生产者消费者设计模式 3 RabbitMQ介绍 3.1 主流消息队列比较: 3.2 RabbitMQ安装(mac电脑 ...
- Day_09【常用API】扩展案例2_测试小字符串在大字符串中出现的次数
分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: 请输入大字符串: woaiheima,heimabutongy ...
- ApplicationInsights迁移国内躺的坑
由于之前有段时间访问国际版的Application Insights实在是慢,而且又不是每个人都有梯子,然后国内版大概在去年(2019)六七月左右已经上线,想着也有一段时日了,要么就迁了吧. 然后实际 ...
- Queue-PriorityQueue源码解析
Queue队列通常是先进先出(FIFO),但也有特殊的非FIFO,如本文也分析的PriorityQueue. Queue接口 Queue接口定义的方法: 添加元素接口: add(E e) -> ...
- Python脚本:实现对象集合List导入到excel表格,支持mysql,postergrsql,MongoDB
import xlwt import os import datetime #验证export_filed中的字段是否在对象字段中 def checkField(obj_list,filed_dict ...
- C#winform跨窗体传值和调用事件的办法
有三个窗体,分别是Main主窗体,Form1窗体1,From2窗体2,其中Main是主窗体,Form1窗体1是一个消息通知窗体,Form2窗体2主窗体的一个子窗体,程序启动时,消息框窗体1弹出,通过消 ...
- sqlite聚合函数
常见聚合函数 avg(X) 用于返回组中所有非空列的平均值.字符串(string)或二进制数据(BLOB)等非数字类型当作0来计算.结果是浮点型的数据,即便所有数据中只有一个整数(integer)的数 ...
- Adaboost原理及相关推导
提升思想 一个概念如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么,这个概率是强可学习的.一个概念如果存在一个多项式的学习算法能够学习它,并且学习的正确率仅比随机猜测略好,那么,这个概念是 ...
- Django之ORM对象关系模型
MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需 ...
- 用C++验证三门问题
三门问题(换门): #include <iostream> #include <cstdlib> #include <ctime> #define random(a ...