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('这不是一个错误') // 错误
})