hook 的作用利用钩子函数可以在所有测试用例执行前做一些预置操作(如:准被测试数据、测试环境)
或者在测试结束后做一些后置操作(如:清理测试数据)
before()beforeEach()afterEach()after()before()after()beforeEach()beforeEach() afterEach()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');
})
})
})
运行结果


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