Cypress系列(9)- Cypress 編寫和組織測試用例篇 之 鉤子函數Hook
- 2020 年 6 月 3 日
- 筆記
- Cypress, 測試高級進階技能系列 - Cypress
如果想從頭學起Cypress,可以看下面的系列文章哦
//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