npm 包 @sinonjs/referee-sinon 使用教程

阅读时长 4 分钟读完

前言

如果你经常写 JavaScript 代码,那么你一定听过 Sinon.js,它是一个为JavaScript单元测试提供的优雅的独立库。它提供了许多测试工具,包括 Spies、Stubs、Mock等等。这篇文章将会介绍 @sinonjs/referee-sinon,它是 Sinon.js 的一个拓展库,有了它,你可以更方便地进行单元测试。在本文中,你将了解到如何使用它。

安装

@sinonjs/referee-sinon 是一个 NPM 包,安装方法如下:

请注意,这个库需要 Sinon.js 版本不低于6.0.0才能正常工作。

使用

你可以通过 requireimport 引入 @sinonjs/referee-sinon:

@sinonjs/referee-sinon 将提供一些与 Sinon.js 相同的方法和一些新的方法。请注意,它不会直接暴露 Sinon.js 的所有 API,但你可以通过 referee.sinon 访问整个 Sinon.js 库。

断言

@sinonjs/referee-sinon 为 Sinon.js 提供了新的断言方法集。通过这些方法,你可以更便捷地编写测试,并且输出的错误消息更易于理解。下面是一些常用的断言方法:

assert.spy

assert.spy() 断言一个函数是不是 Sinon.js 生成的 spy 对象。以下是一个示例。

assert.stub

assert.stub() 断言一个对象是不是 Sinon.js 生成的 stub 对象。以下是一个示例。

assert.mock

assert.mock() 断言一个对象是不是 Sinon.js 生成的 mock 对象。以下是一个示例。

编写测试

下面是一个使用 @sinonjs/referee-sinon 进行测试的例子:

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

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

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

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

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

这个例子展示了如何使用 @sinonjs/referee-sinon 编写一个 Calculator 类的测试。在这个例子中,我们使用了 beforeEach 方法初始化 Calculator 对象,并且使用了 it 方法来分别测试 addsubtract 方法。

结论

现在你已经了解了 @sinonjs/referee-sinon,它是 Sinon.js 的一个非常实用的拓展库。我们向你展示了如何使用它来编写 JavaScript 单元测试,包括断言和编写测试代码。希望这篇文章对你有所帮助。

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