• 钩子函数-hook


    钩子函数-hook

    hook 的作用

    利用钩子函数可以在所有测试用例执行前做一些预置操作(如:准被测试数据、测试环境)

    或者在测试结束后做一些后置操作(如:清理测试数据)

    • 钩子函数在其它框架中也有,也称为生命周期函数
    Mocha 提供的 Hook 函数
    • before()
    • beforeEach()
    • afterEach()
    • after()
    before()
    • 该测试套件下,所有测试用例的统一前置操作
    • 它在一个 describe() 或 context() 内只会执行一次,在所有 it() 之执行
    after()
    • 该测试套件下,所有测试用例的统一后置操作
    • 它在一个 describe() 或 context() 内只会执行一次,在所有 it() 之执行
    beforeEach()
    • 该测试套件下,每个测试用例的前置操作
    • 一个 describe() 或 context() 内有多少个测试用例 it() ,就会执行几次 beforeEach()
    afterEach()
    • 该测试套件下,每个测试用例的后置操作
    • 一个 describe() 或 context() 内有多少个测试用例 it() ,就会执行几次afterEach()
    测试
    describe('hook test',()=>{
        before(()=>{
            cy.log('执行before方法');
        })
    
        beforeEach(()=>{
            cy.log('执行before each');
        })
    
        it('test1',()=>{
            cy.log('测试用例1');
        })
    
        it('test2',()=>{
            cy.log('测试用例2')
        })
    
        afterEach(()=>{
            cy.log('执行after each');
        })
    
        after(()=>{
            cy.log('执行after');
        })
    
        context('subsuite',()=>{
            before(()=>{
                cy.log('执行subbefore方法');
            })
        
            beforeEach(()=>{
                cy.log('执行sub before each');
            })
        
            it('test3',()=>{
                cy.log('测试用例3');
            })
        
            it('test4',()=>{
                cy.log('测试用例4')
            })
        
            afterEach(()=>{
                cy.log('执行subafter each');
            })
        
            after(()=>{
                cy.log('执行subafter');
            })
        })
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    运行结果

    在这里插入图片描述

    在这里插入图片描述

    若包含多级测试套件,那么父级套件、祖父级套件声明的 hook 函数会作用于所有子级套件的测试用例,孙子级套件的测试用例…以此类推

  • 相关阅读:
    Python的张量运算
    SRS5.0-报错: srt serve error code=6006
    C# 图像灰化处理方法及速度对比
    变压器试验VR虚拟仿真操作培训提升受训者技能水平
    【Transformers】第 5 章 :文本生成
    安卓相关基础知识整理
    java计算机毕业设计基于web的面向公众的食品安全知识系统源程序+mysql+系统+lw文档+远程调试
    逍遥自在学C语言 位运算符 "|" 的5种高级用法
    oracle 分组合并字段,每组行显示
    Liunx下对php内核的调试
  • 原文地址:https://blog.csdn.net/qq_52751442/article/details/134527191