如果想從頭學起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

