Jest 断言库调用方法:详解 expect、toBe、toHaveBeenCalled

阅读时长 4 分钟读完

Jest 是一款基于 JavaScript 的自动化测试框架,具有开箱即用的特点,因此受到越来越多前端开发者的青睐。Jest 提供了丰富的 API,其中最重要的就是断言库,而其中的 expect、toBe、toHaveBeenCalled 这些方法则是开发者使用较多的方法之一。本文将详细解释这三个方法的使用方法和实例。

expect 方法

expect 方法是 Jest 断言库里最重要的方法之一,它提供了断言的入口,可用于创建一个期望值并与实际值进行比较。使用 expect 方法时,需要传入被测试的变量或者表达式作为参数,可以是一个原始值,也可以是一个对象或者函数。

举个例子:

上述代码中,我们使用 expect 方法来测试变量 a 是否等于 5。toBe 方法则用于判断值是否相等。如果不相等则会抛出错误,从而让测试用例失败。

toBe 方法

toBe 方法是 Jest 的一个断言方法,用于比较两个值是否相等。也就是说,toBe 用于判断两个值是否引用同一个对象,而不是它们的值是否相等。

举个例子:

上述代码中,我们使用 toBe 方法测试 5 是否等于 5。如果不通过,会抛出错误并打印出实际值和期望值。

toEqual 方法

toEqual 方法也是一个 Jest 的断言方法,用来比较两个对象的值是否相等。与 toBe 方法不同,toEqual 方法判断的是值是否相等,而不是引用是否相等。

举个例子:

-- -------------------- ---- -------
---------------- -- -- -
  ----- ---- - -
    -- --
    -- -
  --
  ----- ---- - -
    -- --
    -- -
  --
  ---------------------------
---

上述代码中,我们使用 toEqual 方法比较两个对象的属性是否相同。因为这两个对象的属性值相同,所以测试用例会通过。

toBeNull 方法

toBeNull 方法用于判断某个值是否为 null。

上述代码中,我们使用 toBeNull 方法判断变量 a 是否为 null。如果不是 null,则会抛出错误。

toBeTruthy 和 toBeFalsy 方法

toBeTruthy 方法用于判断某个值是否为真值,而 toBeFalsy 方法用于判断某个值是否为假值。

上述代码中,我们使用 toBeTruthy 方法判断变量 a 是否为真值,使用 toBeFalsy 方法判断变量 b 是否为假值。如果不符合期望,则会抛出错误。

toHaveBeenCalled 方法

toHaveBeenCalled 方法用于判断一个函数是否被调用过,如果被调用过,则测试用例通过。

举个例子:

上述代码中,我们使用 toHaveBeenCalled 方法测试 add 函数是否被调用过。此处使用了 jest.fn() 来模拟一个函数。

总结

在本篇文章中,我们对 Jest 断言库中的 expect、toBe、toHaveBeenCalled 方法进行了详细解释,并给出了相应的实例代码。希望读者能够通过本文的介绍和实践,掌握 Jest 断言库的应用,并在开发过程中灵活运用这些方法来写出高质量的测试用例。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6656a244d3423812e4b7e89d

纠错
反馈