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

前言

如果你经常写 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


猜你喜欢

  • npm 包 heroku-wp-environment-sync 使用教程

    在前端开发中,我们经常使用 Heroku 作为部署平台来托管我们的 WordPress 站点。然而,在不同的开发环境之间同步环境是一个十分麻烦和费时的过程。为了解决这个问题,我们可以使用 npm 包 ...

    5 年前
  • npm 包 pre-bp 使用教程

    在前端开发中,我们经常需要创建一个项目的基础结构,包括文件夹结构、配置文件、测试文件等。通常情况下,我们需要手动创建这些文件和文件夹,十分繁琐。而 pre-bp 就是一个 npm 包,可以帮助我们快速...

    5 年前
  • npm 包 gzip-size 使用教程

    在前端开发中,我们经常需要使用 npm 包。而在选择合适的包时,除了要考虑功能、性能、稳定性等因素外,还需要考虑包的大小,因为包越大,加载速度越慢,对用户体验产生负面影响。

    5 年前
  • npm 包 ec-quote-widgets 使用教程

    简介 ec-quote-widgets 是一个用于前端的 npm 包,它提供了一系列的报价组件,可以用于在 Web 页面上展示各种类型的报价,如股票、外汇、商品等。

    5 年前
  • `@apostrophecms/nunjucks` 使用教程

    Nunjucks 是一款流行的 JavaScript 模板引擎,由 Mozilla 开发和维护。 @apostrophecms/nunjucks 是一个基于 Nunjucks 驱动的 CMS(内容管理...

    5 年前
  • npm 包 cookie 使用教程

    在前端开发中,经常会用到 cookie,它是一种存储在浏览器中的小型数据文件,用于跟踪用户活动、存储用户偏好设置等。那么如何使用 npm 包 cookie 来实现对 cookie 的操作呢?本文将为您...

    5 年前
  • npm 包 @saeris/graphql-scalars 使用教程

    在 GraphQL 中,标量 (Scalar) 类型是指表示单一值的数据类型,比如字符串、整数、浮点数、布尔值等等。@saeris/graphql-scalars 是一个 npm 包,它封装了常用的标...

    5 年前
  • npm 包 @warp-works/warpjs-filter-box 使用教程

    介绍 @warp-works/warpjs-filter-box 是一个用于创建过滤器组件的 npm 包,它可以帮助前端开发人员快速构建搜索和过滤功能。这个包提供了许多配置项,可以根据项目需求自定义过...

    5 年前
  • npm 包 @warp-works/warpjs-change-logs 使用教程

    在前端开发中,常常需要记录应用程序的变更日志,便于开发者和用户追踪应用程序的各种更新、改动和修复。这时,npm 包 @warp-works/warpjs-change-logs 就能够派上用场。

    5 年前
  • npm 包 @quoin/node-rc 使用教程

    在前端开发中,需要使用到许多第三方的包来完成一些特定的功能。@quoin/node-rc 是一款非常实用的 npm 包,可以帮助开发人员快速地读写配置文件。在下面的文章中,我将详细介绍该包的安装、使用...

    5 年前
  • npm 包 bencode 使用教程

    前言 随着互联网的飞速发展,前端技术也在不断的更新和迭代。前端工程师们需要不断地学习新知识,才能顺应潮流。今天,我们来介绍一个 npm 包 bencode,向大家详细讲解它的使用方法,并且提供一些示例...

    5 年前
  • npm 包 @kadabra/nodemon 使用教程

    在前端开发中,我们通常需要进行频繁的代码修改和调试工作。如果每次修改代码都需要手动重新运行程序,这将是非常繁琐和低效的。为此,我们可以使用 nodemon 工具来自动监听代码的变化并重新启动程序。

    5 年前
  • npm 包 @feathersjs/socketio 使用教程

    前言 Web 应用程序的开发中,前后端异步通信是必不可少的。Feathers 是一个开放框架,它提供了多种适用于以 Node.js 为后端的 Web 应用程序的工具和插件。

    5 年前
  • npm 包 @feathersjs/express 使用教程

    前言 现如今,前端开发领域中已经充斥着数不胜数的工具,其中我们要重点介绍的就是经过多年磨练而长盛不衰的 Node.js。Node.js 的优势在于可以快速构建高效、可扩展的应用程序,而包管理神器 NP...

    5 年前
  • npm 包 @feathersjs/errors 使用教程

    受现代 Web 开发模式的影响,客户端与服务端的分离越来越普及。其中,前端负责呈现页面,后端则负责提供 API 等接口。在这个过程中,错误处理是不可避免的。Node.js 生态下有很多用于实现错误处理...

    5 年前
  • npm 包 @feathersjs/configuration 使用教程

    简介 @feathersjs/configuration 是一个用于管理应用配置的npm包。它提供了一种简单的方式来处理环境配置,可以让应用在不同的环境中更加灵活和方便。

    5 年前
  • NPM 包 @feathersjs/authentication-oauth2 使用教程

    在前端开发中,我们经常需要使用第三方平台的 OAuth2 认证功能以实现用户登录等功能。为了方便开发者快速集成 OAuth2 认证功能,我们可以使用现成的第三方 NPM 包,如 @feathersjs...

    5 年前
  • npm 包 @feathersjs/authentication-local 使用教程

    前言:本文介绍的是 Feathers.js 的一个 npm 包 @feathersjs/authentication-local 的使用方法。如果您不熟悉 Feathers.js,建议在学习本文之前先...

    5 年前
  • npm 包 @feathersjs/authentication-jwt 使用教程

    @feathersjs/authentication-jwt 是一个非常实用的 Node.js 包,可帮助您实现 JWT(JSON Web Token)鉴定和管理。

    5 年前
  • npm 包 @feathersjs/authentication 使用教程

    前言 前端开发中常常需要使用到用户认证和授权功能,而实现这一功能的传统方式是通过后端开发人员编写相应的接口来实现。但是在现代化的应用中,前端也需要参与到用户认证和授权的逻辑中来。

    5 年前

相关推荐

    暂无文章