了解 Jest 测试框架中的断言和期望

阅读时长 3 分钟读完

Jest 是一款流行的 JavaScript 测试框架,由于其易用性和功能丰富的特点,被广泛应用于前端开发中的单元测试。在 Jest 中,断言和期望是测试的核心,因此了解 Jest 中的断言和期望是非常重要的。

断言和期望

在 Jest 中,断言(assertions)是测试中的语句,用于判断函数或表达式的结果是否符合预期。而期望(expectations)则是对这个结果的期望,用于在测试中指定具体的预期结果。通常,我们会使用 expect 函数来创建一个期望对象:

在这个示例中,expect 函数的参数是两个数相加的结果,而 toBe 是期望结果为 2 的方法。如果计算结果确实是 2,那么测试就会通过。否则,就会抛出错误。

常用的期望方法

Jest 中有许多可用于设置期望的方法,其中一些最常用的有:

  • toEqual:用于比较两个对象的属性和值是否完全相等。在比较对象时,应该使用该方法,而不是 toBe
  • toBe:用于比较两个值是否完全相等,包括变量类型和值。
  • not:用于取反某个期望的结果。
  • toThrow:用于捕获和测试函数抛出的异常。

以下是一些基于上述方法的示例:

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

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

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

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

断言的链式调用

Jest 还支持一种称为链式断言(chainable assertions)的语法,即将多个期望链接在一起使用。这种方法不仅简化了代码的编写和阅读,而且让错误提示更加直接和有用。下面是一个使用链式断言的示例:

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

总结

断言和期望是 Jest 中重要的概念,也是前端开发中单元测试的核心。在开发过程中,应当熟悉 Jest 中的断言和期望,并合理使用链式断言和期望方法,以更好地帮助测试达到预期,并提高代码的健壮性。在应用中多加练习和实践,可以更好的掌握 Jest 中的断言和期望。

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

纠错
反馈