有时我们希望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 ...