npm 包 jest-expect-contain-deep 使用教程

简介

在前端开发中,测试是不可或缺的部分。而 Jest 是一个非常流行的 JavaScript 测试框架。在 Jest 中,expect 是一种常用的断言语句,用于判断测试结果是否正确。然而,expect 只能判断简单的数据类型和结构,对于深层嵌套的对象或数组判断就会变得比较麻烦。因此,jest-expect-contain-deep 作为一个 npm 包应运而生,可用于更方便地进行深度判断。

安装

在使用 jest-expect-contain-deep 前,需要先在项目中安装该 npm 包,方法如下:

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

使用

安装完包之后,在测试文件中进行引用:

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

引入的 jest-expect-contain-deep 包可以使 expect 方法支持更多的断言方式。

判断深层对象

在判断两个对象是否相等时,常常需要考虑其内部是否包含相同的子元素。使用 jest-expect-contain-deep 包,可以轻松地判断相同键名对应值的子元素是否存在。

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

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

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

在上述代码中,objA 包含了 objB 中的所有键值对,所以他们是相等的。toContainEqualDeep 方法封装了比较过程,无需手动遍历子元素。

判断深层数组

与判断深层对象相似,判断数组内是否包含相同元素,也可使用 jest-expect-contain-deep 包。

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

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

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

上述代码中,arrB中包含的元素,也都被 arrA 包含,因此,他们是相等的。

总结

在开发过程中,使用 jest-expect-contain-deep 包,可以方便快捷地进行深层对象和数组的比较,提高开发效率。同时,减少了繁琐的手动遍历数组或对象中元素的过程,使判断更为简单明了。

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


猜你喜欢

  • npm 包 appolo-event-dispatcher 使用教程

    在前端开发过程中,我们常常需要对事件进行管理和处理。对于多维度和复杂的应用程序,我们需要一个可靠的事件管理框架,这时候 npm 包 appolo-event-dispatcher 可能会成为你的一个好...

    4 年前
  • NPM 包 Apollo-Route 使用教程

    如果你是一个前端开发者,你一定不会对 Apollo-Route 这个 NPM 包感到陌生。它是一个非常流行的路由管理工具,帮助开发者更轻松地管理页面路由,提高开发效率。

    4 年前
  • npm 包 appolo-agent 使用教程

    在现代Web开发中,构建高效的应用程序以及保持其性能和稳定性已经成为了开发人员的首要目标。为了实现这一点,使用工具来分析和监视应用程序是很重要的。Appolo Agent是一个优秀的npm包,可以帮助...

    4 年前
  • npm包 @appolo/events使用教程

    简介 @appolo/events是一款轻量级的事件库,能够在前端和后端应用中实现事件驱动程序的设计模式。 安装 通过npm安装: --- ------- -------------- ------初...

    4 年前
  • npm包@appolo/inject使用教程

    在前端开发中,使用npm包已经成为了非常常见的操作。在依赖管理方面,npm是所有前端开发者最常用的工具之一。在本文中,我们将介绍npm包中的一个重要组件:@appolo/inject,包含详细的使用教...

    4 年前
  • npm 包 @appolo/utils 使用教程

    前言 在前端开发中,我们经常会使用到各种各样的工具库,这些工具库可以极大的提升我们的开发效率,@appolo/utils 就是一款非常优秀的工具库,它包含了很多实用的函数,可以帮助我们快速的完成一些常...

    4 年前
  • npm 包 appolo-cache 使用教程

    appolo-cache 是一个简单易用的缓存管理工具,可以轻松地在你的前端应用中使用。本文将为你介绍 appolo-cache 的使用方法,包括安装、配置、API 等方面。

    4 年前
  • npm 包 @appolo/helpers 使用教程

    前言 在前端开发中,npm 是一个不可忽略的工具,它为我们提供了无数实用的 JavaScript 包来完成我们的开发任务。本文主要介绍 @appolo/helpers 这个工具包的使用,它是一个为 N...

    4 年前
  • npm 包 appolo-engine 使用教程

    在现代的前端开发中,很多网站和应用都使用了 React、Angular 和 Vue 等框架。这些框架提供了很多的功能和工具,但是我们还需要一些额外的工具,来帮助我们构建更好的应用。

    4 年前
  • npm 包 tracium 使用教程

    前言 tracium 是一个基于 Chrome DevTools 的性能分析工具。它可以为您的页面生成一份资源使用情况的报告,内容详细而全面。本文将为您详细介绍如何使用 tracium。

    4 年前
  • npm 包 estimo 使用教程

    前言 在前端开发中,我们会使用一些第三方库或框架来提高开发效率和代码质量,但是这些库或框架背后的实现机制我们并不一定清楚。而使用 estimo 可以让我们了解代码性能方面的一些细节,更好地优化我们的代...

    4 年前
  • npm 包 @size-limit/time 使用教程

    什么是 @size-limit/time? @size-limit/time 是一个 npm 包,可以用于计算 JavaScript 代码运行时间。可以在前端测量整个页面或者用户交互的一部分的性能,也...

    4 年前
  • npm 包 import-global 使用教程

    在前端开发中,我们常常需要使用一些第三方的工具包或者库来帮助我们快速地完成开发任务。而 npm 是 JavaScript 开发中使用最广泛的一个依赖包管理器,能够方便地帮助我们查找、安装和使用各种 J...

    4 年前
  • npm 包 @alib/build-scripts 使用教程

    简介 @alib/build-scripts 是一个构建工具集,包含多个插件,可以帮助前端开发者快速构建前端项目。@alib/build-scripts 已经在阿里巴巴内部广泛使用,在性能、体验等方面...

    4 年前
  • npm 包 build-plugin-ice-config 使用教程

    在前端开发中,我们经常会使用 build 工具来编译和打包我们的代码,因此很多开发者都能够熟练地使用一系列的 build 工具和插件。在这篇文章中,我将介绍如何使用 npm 包 build-plugi...

    4 年前
  • npm包 build-plugin-ice-core 使用教程

    介绍 build-plugin-ice-core 是一个用于修改 buildConfig 的 ice-scripts 插件。通过这个插件,你可以自定义冰体系项目的打包配置,从而满足你的项目需求。

    4 年前
  • npm 包 @antv/hierarchy 使用教程

    在前端开发中,数据可视化是一个十分重要的领域,而 @antv/hierarchy 是一个非常棒的 npm 包,可以帮助我们实现树形数据的可视化。本文将详细介绍该 npm 包的使用方法和具体示例,并希望...

    4 年前
  • npm 包 @alifd/babel-preset-next 使用教程

    什么是 @alifd/babel-preset-next @alifd/babel-preset-next 是阿里前端团队 Ant Design 开发的用于转译 JavaScript 代码的 Babe...

    4 年前
  • 前端技术文章:npm 包 build-plugin-ice-helpers 使用教程

    简介 在前端开发中,构建工具是非常必要的,可以帮助我们自动完成编译、优化、部署等任务。而今天要介绍的 npm 包 build-plugin-ice-helpers 就可以帮助我们简化开发过程中的一些操...

    4 年前
  • npm 包 @antv/util 使用教程

    本文介绍了如何使用npm 包 @antv/util,帮助前端开发人员更好的快速开发和定制自己的交互数据可视化应用。 简介 @antv/util 是一个 AntV 数据可视化库的工具集,提供了许多有用的...

    4 年前

相关推荐

    暂无文章