Jest 中匹配器

有時我們希望Jest 在測試代碼發生變化的時候,能夠自動運行。

那麼我們在 jest 命令後面 加上參數 --watchAll 即可。

  "scripts": {
    "test": "jest --watchAll",
    "coverage": "jest --coverage"
  },

下面,我們在math.test.js 中增加一個測試用例

test('測試匹配器', () => {
    const obj = { "a": 1}
    expect(obj).toBe({ "a": 1})
})

這時,測試就會報錯

toBe 的話,使用Object.is() 判斷是否相等(參官方文檔https://jestjs.io/docs/en/using-matchers) 。

當我們判斷值是否相等,不考慮引用是否一致時,使用toEqual。

test('測試匹配器', () => {
    const obj = { "a": 1}
    expect(obj).toEqual({ "a": 1})
})

除了 toBe(), toEqual() 之外,還有許多匹配器,我們可以在官網的文檔中看到(https://jestjs.io/docs/en/using-matchers, https://jestjs.io/docs/en/expect

比如說 toBeNull(), toBeUndefined(), toBeTruthy(), toBeFalsy ...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章