npm 包 unexpected-sinon 使用教程

阅读时长 5 分钟读完

unexpected-sinon 是一个基于 Sinon.js 和 Unexpected.js 的 npm 包,为单元测试提供了强大的断言库。本文将详细介绍 unexpected-sinon 的使用方法和示例代码。

安装 unexpected-sinon

使用 npm 安装 unexpected-sinon:

引入 unexpected-sinon

在测试文件中引入 unexpected-sinon:

基本用法

unexpected-sinon 提供了大量的断言方法,我们可以通过 expect.sinon 来访问这些方法。下面是一些常用的断言方法:

toHaveBeenCalled

判断一个 sinon spy 是否被调用过:

toHaveBeenCalledOnce

判断一个 sinon spy 是否只被调用了一次:

toHaveBeenCalledWith

判断一个 sinon spy 是否被传递了指定的参数调用:

toHaveReturned

判断一个 sinon stub 是否返回了指定的值:

toHaveReturnedWith

判断一个 sinon stub 是否以指定的参数返回:

高级用法

unexpected-sinon 还提供了一些高级的断言方法,例如:

toHaveAlwaysReturned

判断一个 sinon stub 是否始终返回指定的值:

toHaveAlwaysThrown

判断一个 sinon stub 是否始终抛出指定的错误:

toHaveCallCount

判断一个 sinon spy 被调用的次数:

toHaveExactlyNthCall

判断一个 sinon spy 在第 N 次调用时传递了指定的参数:

toHaveBeenCalledOnceWith

判断一个 sinon spy 是否只被调用一次,并且使用指定的参数调用:

示例代码

下面是一个简单的示例代码,使用了上述提到的一些断言方法:

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

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

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

总结

unexpected-sinon 是一个非常强大的单元测试断言库,它结合了 Sinon.js 和 Unexpected.js 的功能,可以大大简化我们的单元测试工作。本文介绍了 unexpected-sinon 的安装、引入和基本用法,以及一些高

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

纠错
反馈