assertjs 使用教程

在前端开发中,我们经常需要编写测试来保证代码的质量和稳定性。而在测试中,断言是非常重要的一环。在 JavaScript 中,assertjs 是一个优秀的断言库,其提供了丰富的 API 和易于阅读的错误信息。在本篇文章中,我们将介绍如何使用 assertjs。

安装

使用 npm 安装 assertjs:

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

使用

使用 assertjs 断言语句的基本形式如下:

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

其中 expression 是一个被测试的表达式,message 是一个字符串,用于描述测试的目的。当表达式的值为 false 时,assertjs 会抛出一个 AssertionError。我们来看一个简单的例子:

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

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

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

首先,我们使用 require 引入 assert 模块。然后,我们编写了一个简单的 add 函数,接着使用 assert 来测试该函数是否符合预期。

在上面的例子中,我们使用了两种不同的断言函数:assert 和 assert.deepEqual。assert 函数接受一个表达式和一个字符串参数。assert.deepEqual 函数会比较两个对象是否相等。

除了 assert.deepEqual,assert 模块还提供了很多其他的断言函数,如 assert.equal、assert.notEqual、assert.ok 等。接下来,我们将逐个介绍这些函数的使用方法。

assert.equal

assert.equal 函数用于比较两个值是否相等。它的使用方法如下:

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

其中 actual 是被测试的值,expected 是预期的值,message 是一个用于描述测试的字符串。如果 actual 和 expected 不相等,assert.equal 将会抛出一个 AssertionError。我们来看一个例子:

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

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

assert.equal 函数支持原始类型(如数字、字符串等)和对象的比较。但是需要注意的是,对于对象的比较,它只会判断两个对象是否引用了同一个内存地址,而不是判断对象的内容是否相同。如果需要比较两个对象的内容是否相同,可以使用 assert.deepEqual 函数。

assert.notEqual

assert.notEqual 函数用于比较两个值是否不相等。它的使用方法与 assert.equal 函数相同。

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

我们来看一个例子:

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

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

assert.strictEqual

assert.strictEqual 函数用于比较两个值是否严格相等。它的使用方法如下:

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

如果 actual 和 expected 不是严格相等的,assert.strictEqual 将会抛出一个 AssertionError。与 assert.equal 不同的是,它使用了 === 运算符,这意味着它会区分数字和字符串类型的值。

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

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

assert.notStrictEqual

assert.notStrictEqual 函数用于比较两个值是否不是严格相等的。它的使用方法与 assert.strictEqual 函数相同。

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

assert.deepStrictEqual

assert.deepStrictEqual 函数用于比较两个值是否深度相等。它的使用方法如下:

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

它比 assert.strictEqual 函数更强大,因为它不仅会判断两个对象是否引用了同一个内存地址,还会递归比较对象的内容。我们来看一个例子:

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

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

assert.notDeepStrictEqual

assert.notDeepStrictEqual 函数用于比较两个值是否不是深度相等的。它的使用方法与 assert.deepStrictEqual 函数相同。

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

assert.ok

assert.ok 函数用于判断一个表达式是否为真。如果表达式的值为 false 或 0,assert.ok 函数将会抛出一个 AssertionError。

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

我们来看一个例子:

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

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

assert.fail

assert.fail 函数用于抛出一个 AssertionError。

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

其中 actual 是被测试的值,expected 是预期的值,message 是一个用于描述测试的字符串,operator 是用于描述比较的运算符。assert.fail 主要用于在自定义测试时使用。我们来看一个例子:

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

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

总结

在本文中,我们介绍了 assertjs 的使用方法,包括 assert、assert.equal、assert.notEqual、assert.strictEqual、assert.ok 等函数。这些函数都是用于编写测试时非常重要的工具。希望本文对你有所帮助。

如果你想深入了解 assertjs,可以阅读其官方文档:https://github.com/defunctzombie/commonjs-assert

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60056cbb81e8991b448e62a9


猜你喜欢

  • npm 包 graphqlify-null 使用教程

    GraphQL 是一种查询语言,它允许前端工程师通过 API 获取所需的数据。在 GraphQL 中,查询操作的结果总是返回 JSON 格式的数据,这使得前端工程师能够通过查询操作一次性获取所需的数据...

    3 年前
  • npm 包 @asdeporte-dev/dlimits 使用教程

    简介 @dlimits 是一个基于 Node.js 的 JavaScript 包,用于限制框架中的某些模块的访问权限。它支持多种限制模式和多种框架(如 Vue.js 和 React)。

    3 年前
  • npm 包 meepo-citypicker 使用教程

    随着前端技术的飞速发展,我们现在构建 web 应用时经常需要使用第三方库或框架来提高效率。而 npm 包成为了前端开发者们最常用的工具之一。本文介绍一款名为 meepo-citypicker 的 np...

    3 年前
  • npm 包 wowser-math 使用教程

    前言 在前端开发中,数学计算是其中不可避免的部分。虽然 JavaScript 本身提供了一些数学计算的方法,但是这些方法可能并不能满足我们的需求。这时候,我们就可以使用一些第三方的库来解决这个问题。

    3 年前
  • npm 包 babel-plugin-eslint-validation 使用教程

    简介 在前端开发中,我们经常需要使用到 ESLint 来检查项目中的代码是否符合规范。而使用 Babel 时,也需要对编译后的代码进行一些代码风格的检查。这时候,我们可以使用 babel-plugin...

    3 年前
  • npm 包 cached-date 使用教程

    在前端开发中,我们经常需要获取当前时间或者格式化日期,此时 npm 包 cached-date 可以帮助我们实现这些功能。cached-date 是一个轻量级的 JavaScript 库,它提供了一个...

    3 年前
  • npm 包 elemental-react16 使用教程

    近年来,前端开发的技术发展非常迅速,各种框架和库层出不穷。其中,React 是目前最流行的前端框架之一。而 elemental-react16 是一款基于 React 的 UI 组件库,可以帮助开发者...

    3 年前
  • npm 包 gatsby-remark-embed-youtube 使用教程

    最近,我在使用 GatsbyJS 构建静态网站时遇到了一个问题。我需要在文章中嵌入 YouTube 视频,但是发现并没有内置的方法来支持。在一番搜索之后,我找到了 gatsby-remark-embe...

    3 年前
  • npm 包 putil-defineconst 使用教程

    在前端开发过程中,常常需要定义一些常量,这些常量可能是一个字符串、一个数字或者一个布尔值等等。为了避免硬编码而产生的麻烦,我们可以使用 npm 包 putil-defineconst 来定义常量。

    3 年前
  • npm 包 easyar 使用教程

    easyar 是一个跨平台的增强现实开发平台,支持 iOS、Android、Windows、macOS 等多个操作系统。本教程介绍如何使用 easyar npm 包在前端开发中集成 easyar。

    3 年前
  • npm 包 hemera-fcm 使用教程

    简介 hemera-fcm 是基于 Google Firebase Cloud Messaging (FCM)提供的 Node.js 包,可以在 Node.js 应用中方便地发送 FCM 消息。

    3 年前
  • npm包vastpack使用教程

    在前端开发中,使用npm包是非常方便的。npm包可以帮助我们快速构建项目,提高开发效率。vastpack就是一个非常优秀的npm包,可以帮助我们更快的开发前端项目。

    3 年前
  • npm包【ccnews】使用教程

    前言 随着前端技术的日益发展,现在很多前端工程师都离不开npm包管理工具了。npm(Node Package Manager)是一个NodeJS的包管理模块。它能够帮我们轻松地安装、升级、删除包及它们...

    3 年前
  • npm 包 caulking 使用教程

    介绍 在前端开发中,我们常常需要对网页中的文字或者图片进行修饰或者处理,此时会用到一些常用的处理方式,例如:添加下划线、缩放图片尺寸等。而针对这些常用的处理方式,本文介绍 npm 包 caulking...

    3 年前
  • npm 包 html-extract-data 使用教程

    在前端开发的过程中,我们常常需要从 HTML 页面提取出数据,然后进行处理和展示。这个过程有时候会比较繁琐,需要写一些复杂的正则表达式或者手动解析 HTML 文本。

    3 年前
  • npm 包 masks-js 使用教程

    介绍 在前端开发中,我们经常需要对输入的数据做一些格式限制,如手机号码、邮箱、身份证号码等。而这些数据的格式又是各式各样的,我们可以使用正则表达式来实现格式限制,但是在实现上比较繁琐,不易维护。

    3 年前
  • npm 包 checkout-install 使用教程

    简介 checkout-install 是一款简化了 npm install 命令的 npm 包。它的主要优势在于可以一次性安装指定 package.json 文件中列出的所有依赖项,并且可以指定是使...

    3 年前
  • npm 包 @siggame/stockage 使用教程

    简介 @siggame/stockage 是一个用于保存前端应用状态的 npm 包。它可以帮助开发者保存和获取前端应用的状态数据,并且支持缓存数据到本地存储。借助这个包,开发者可以更加高效地管理前端应...

    3 年前
  • npm 包 clarify-plus 使用教程

    前言 随着前端技术的日益发展,我们已经可以开发出越来越多的复杂应用。在开发过程中,我们可能需要处理各种复杂的数据结构或解析 HTML 文本等任务。本文将介绍一种使用 npm 包 “clarify-pl...

    3 年前
  • npm 包 modal-basis 使用教程

    前言 在前端页面中,模态框是一个常见且非常有用的UI组件。在实现模态框的过程中,我们常常需要编写大量的HTML、CSS以及JavaScript代码。为了简化模态框的实现过程,前端开发人员写了各种模态框...

    3 年前

相关推荐

    暂无文章