如何在 Chai 中链式调用多个断言

如果你正在做前端测试,那么你可能会用到 Chai,它是一个流行的 JavaScript 断言库。在这篇文章中,我们将探讨如何在 Chai 中使用链式调用来组合多个断言。

什么是链式调用

在编程中,链式调用是指使用一系列点操作符来连接多个方法/函数调用。这使得代码更加清晰、易读、易维护。在 Chai 中,我们可以使用链式调用来组合多个断言,以一种更加清晰、紧凑和可读的方式来表达我们的测试需求。

如何在 Chai 中使用链式调用

使用 Chai 的链式调用,我们可以将多个断言链接在一起,以便组合许多测试的期望。以下是一个基本的示例:

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

在这个例子中,我们在一个数字上进行了两项测试。首先,我们查看这个数字是否是一个数字类型,然后,我们检查它是否不是 NaN。

在这个例子中,expect() 方法是最初的入口点,表明要进行测试的值。然后我们使用 to 单词建立语义上的测试内容,be.athat.is.not 分别表示我们要进行的对条件的测试。当然,我们可以使用任何其他 Chai 中定义的方法。

请注意,Chai 的链式断言可以调用多次,这就是链式断言的好处。您可以根据需要链接断言,方法的前一个返回对象总是包含下一个对象的方法。

为什么使用链式调用

与传统的编写测试代码不同,使用 Chai 中的链式调用意味着更少的代码,更少的断点。使用链式调用,单个测试中的所有断言都可以在一行代码中完成,并且更容易读取以支持更好的维护。如果你有一个长长的测试行,节省空间并使代码更易读。

示例代码

以下是一个带有链接测试的示例代码:

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

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

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

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

在这个代码中,我们定义了两个数学函数,然后编写了一些测试语句,以验证这些函数是否按照预期工作。

在第三个测试中,我们将两个数字相加,并将结果与另一个数字进行比较。然后我们再次在同一行上添加了一个测试条件,检查我们用 add() 函数得到的结果是否可以使用 subtract() 函数来返回一个预期的值。 这就是链式方法调用的优点。

结论

在这篇文章中,我们介绍了如何在 Chai 中使用链式调用来组合多个断言,以便以一种更加清晰、紧凑和可读的方式来表达我们的测试需求。虽然实现可能不同,但所有语言的链式断言目标都是相同的:更少的代码,更可读的代码,更好的维护性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67319f1a0bc820c582397d87