如何在 Chai 中使用 expect

阅读时长 4 分钟读完

什么是 Chai?

Chai 是一个 JavaScript 测试库,用于编写可读性强的测试用例。在前端开发中,我们常用它来测试自己编写的代码是否符合预期,避免程序出错。其中,Chai 中的 expect 函数可以让我们更加方便地进行断言。

expect 的基本用法

在使用 expect 进行测试时,我们需要引入它的库:

然后就可以开始编写测试用例了。expect 中最基本的用法是:

这里的 to.equal(2) 就是一个断言,表示 1 + 1 的值应该等于 2。如果测试通过,我们将会得到一个绿色的 ✔️,否则将会得到一个红色的 ❌。

我们还可以使用 not 关键字来表示断言的相反:

这里的 to.not.equal(3) 表示 1 + 1 的结果不应该等于 3。

expect 的高级用法

除了基本的用法之外,expect 还有许多高级用法,让我们能够更好地编写测试用例。

包含(include)

包含也是一种很常见的测试需求。在 Chai 中,我们可以使用 include 来测试数组是否包含某个元素、字符串是否包含某个子字符串等:

在这个例子中,我们使用了 to.include(2) 来测试数组中是否包含 2,to.include('world') 来测试字符串中是否包含 'world'。

为空(empty)

有时候,我们需要测试一个数组或者一个字符串是否为空。在这种情况下,我们可以使用 to.be.empty:

这里的 to.be.empty 表示数组或者字符串应该为空。

类型(a/an)

在 JavaScript 中,我们常常需要测试变量、函数的类型是否正确。这时候,我们可以使用 to.be.a 或者 to.be.an:

我们可以使用 a 或者 an 来指定变量或函数的类型。

抛出异常(throw)

在编写代码时,我们有时候会希望程序会抛出某些异常。这时候,我们可以使用 to.throw:

这里的 to.throw('error') 表示程序应该会抛出一个值为 'error' 的异常。

示例代码

下面是一段使用 expect 进行测试的示例代码:

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

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

这里我们编写了一个测试用例,测试一个数组中是否包含某个元素。如果不包含,我们就期望得到一个 -1。如果测试通过,我们将会看到一个绿色的 ✔️,否则将会得到一个红色的 ❌。

总结

在前端的开发中,我们经常需要编写测试代码来测试自己编写的程序是否符合预期。Chai 中的 expect 函数可以让我们更加方便地编写测试用例,并且提供了丰富的断言方法,让我们能够更好地测试自己的代码。希望本文能够帮助你更好地理解如何在 Chai 中使用 expect 函数。

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

纠错
反馈