在 Mocha 中如何使用 expect

阅读时长 5 分钟读完

Mocha 作为前端测试框架的代表,也是前端工程师经常使用的一款测试工具。其中,expect 是 Mocha 中最为常用的断言库之一,它既可以用于单元测试,也适用于端对端测试。本文将详细介绍在 Mocha 中如何使用 expect 断言库。

expect 入门

来看一个简单的例子,该例子用 expect 断言是否相等:

其中,describe 和 it 都是 Mocha 中的语法,describe 用于描述一个测试区块,it 用于描述一个测试用例。expect 表示要进行一个检查,to 方法表示检查的类型,equal 表示期望的值。如果值不符合期望,会抛出错误,测试不通过。

接下来,就可以用 mocha 命令来运行这个测试用例:

如果测试通过,就会显示类似如下的信息:

如果测试不通过,则会抛出异常信息。

expect 应用

在实际开发过程中,expect 会用到很多不同的方法。下面就来罗列一下常见的方法:

  • to.be.equal():判断是否相等
  • to.be.true():判断是否为 true
  • to.be.false():判断是否为 false
  • to.be.ok():判断是否为真值
  • to.be.null():判断是否为 null
  • to.be.undefined():判断是否为 undefined
  • to.be.NaN():判断是否为 NaN
  • to.be.a():判断是否为某个类
  • to.be.an():同上
  • to.include():判断是否包含某个属性或元素
  • to.have.property():判断是否存在属性
  • to.have.ordered.members():判断是否为有序数组
  • to.have.same.members():判断是否为无序数组

还是通过示例来展示这些方法的使用:

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

进阶用法

在 Mocha 中,expect 可以和其他库一起使用,比如 Sinon。下面,通过示例来介绍这个用法。

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

在这个例子中,使用 Sinon.spy 方法来监控一个对象里的方法 foo。在执行了这个方法以后,就可以使用 expect 来判断这个方法是否被调用,即 spy.calledOnce 是否等于 true。

这点可以看出,expect 被很好地嵌入了测试工具链,可以和其他库一起使用,方便且易于理解和使用。

总结

本文详细讲解了在 Mocha 中如何使用 expect 断言库。通过多个示例,阐述了常见的用法和进阶用法,让读者能够对此有深入的认识。对于前端工程师来说,在使用 Mocha 进行前端测试的时候,expect 处于一个必须掌握的地位。希望这篇文章能够对读者们有所指导和帮助。

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

纠错
反馈