jest常用 匹配器 断言

2020-05-28  本文已影响0人  柒逝

not: 类似于 ! 取反

expect(2).not.toBe(1)

toBe:类似 ===

expect(1).toBe(1)

toEqual:基本用来,匹配对象是否相等

expect({ one: 1 }).toEqual({ one: 1 })

toBeNull:用来匹配某个值 等于 null

expect(null).toBeNull(null)

toBeUndefined:用来匹配某个值 等于 undefined

expect(undefined).toBeUndefined(undefined)

toBeDeUndefined: 用来匹配某个值 不等于 undefined

expect('').toBeDeUndefined()

toBeTruthy: 用来匹配某个值 等于 真

expect(true).toBeTruthy()

toBeFalsy: 用来匹配某个值 等于 假

expect(false).toBeFalsy()

跟数字有关的匹配器

toBeGreaterThan 2>1 比某个数字大

expect(2).toBeGreaterThan(1)

toBeLessThan 1<2 比某个数字小

expect(1).toBeLessThan(2)

toBeGreaterThanOrEqual 2>=2 大于等于某个数字

expect(2).toBeGreaterThanOrEqual(2)

toBeLessThanOrEqual 2<=2 小于等于某个数字

expect(2).toBeLessThanOrEqual(2)

toBeCloseTo 用来计算浮点数相加是否相等
注:在js中小数相加 0.1 + 0.2 = 0.300000004 不知道会出现多少个0

expect(0.1 + 0.2).toBe(0.3) // 这个通不过测试
expect(0.1 + 0.2).toBeCloseTo(0.3) // 这样就可以了

字符串相关的

toMatch 匹配 字符串内是否包含(可以写正则表达式) 某个字符串

expect('你好').toMatch('/你/')
expect('你好啊').toMatch('你好')

数组 array Set 相关

toContain 是否包含 也可以用到字符串上

const arr = [1, 2, 3, 4]
expect(arr).toContain(3)

const setData = new Set(arr)
expect(setData).toContain(2)

异常相关的

toThrow(抛出的异常信息 "可以不填,可以写正则") 测试异常

const errorFn = () => {
  throw new Error('这是一个错误')
}
test('测试函抛出出异常', () => {
  expect(errorFn).toThrow() // 正确
  expect(errorFn).toThrow('这是一个错误') // 正确
  expect(errorFn).toThrow(/这是一个错误/) // 正确

  expect(errorFn).toThrow('这不是一个错误') // 错误
})
上一篇下一篇

猜你喜欢

热点阅读