Jest 中鉤子函式

2021-09-27 07:47:21 字數 1445 閱讀 9504

首先,我們來寫乙個類,並把它放入乙個檔案 counter.js 中,**如下。

class counter 

addone ()

minusone ()

}export default counter

下面,我們來寫乙個測試檔案,測試這個類。如下。

import counter from './counter.js'

const counter = new counter()

test('測試 counter 中 addone 方法', () => )

test('測試 counter 中 minusone 方法', () => )

上面,兩個測試用例之間的資料是有關聯的,這樣是不太好的。

jest 提供給我們一下鉤子函式,在處理這種問題的時候,就可以使用。

這些鉤子函式例如,beforeall, afterall, beforeeach ...

參考官網介紹

這裡我們使用beforeeach 就好。

import counter from './counter.js'

let counter = null

beforeeach(() => )

test('測試 counter 中 addone 方法', () => )

test('測試 counter 中 minusone 方法', () => )

此外,我們還可以對測試用例進行分組,如下。

import counter from './counter.js'

let counter = null

beforeeach(() => )

describe('測試增加', () => )

test('測試 counter 中 addone 方法', () => )

})describe('測試減少', () => )

test('測試 counter 中 minusone 方法', () => )

})

其實上面的**,就等價於下面。

import counter from './counter.js'

describe('測試counter', () => )

describe('測試增加', () => )

test('測試 counter 中 addone 方法', () => )

})describe('測試減少', () => )

test('測試 counter 中 minusone 方法', () => )

})})

那麼,就很容易看出 beforeeach 這些鉤子,是屬於describe 的(作用域),我們可以在子的 describe 中也增加 鉤子,且它的生效範圍為它下的所有的測試用例。

(六)Jest中鉤子函式

在jest中,如果測試用例中需要使用到某個物件 或 在執行測試 的某個時刻需要做一些必要的處理,直接在測試檔案中寫基礎 是不推薦的,可以使用jest的鉤子函式。鉤子函式概念 在 執行的某個時刻,會自動執行的乙個函式。首先我們舉例 新建counter.js檔案,如下 export default cl...

Jest測試初學(五) Jest中的鉤子函式

jest中的鉤子函式相當於生命週期函式,在執行測試用例時,有先後呼叫的順序。一 jest常用的鉤子函式 beforeall 在測試用例執行之前執行 beforeeach 在每乙個測試用例執行之前執行 afterall 在測試用例執行結束之後執行 aftereach 在每乙個測試用例執行之後執行 im...

(七)Jest鉤子函式作用域

1 describe下都可以擁有自己的鉤子函式,使用的鉤子函式對自己的子describe的測試用例也適用。2 每個子describe也可以設定自己需要的鉤子函式,使用的鉤子函式對自己的測試用例適用。3 說明鉤子函式是有作用域的,而且在describe的範圍內,至於執行順序是由外到內。4 descri...