npm 包 enzyme-matchers 使用教程

简介

enzyme-matchers 是一个 Jest 和 Enzyme 的插件,它在测试 React 组件时提供了一些常用的匹配器,使得测试更加容易和高效。

这个插件可以帮助你针对 React 组件编写可靠的测试,帮助你减少错误和提高工作效率,其 API 简单易用,非常适合前端开发人员。

本文将详细介绍 enzyme-matchers 的使用方法和示例,帮助你学习和掌握这个插件。

安装

首先,你需要使用以下命令来安装 enzyme-matchers:

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

安装完成后,你需要在 Jest 的配置文件中配置 enzyme-matchers。在 Jest 的配置文件中添加以下内容:

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

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

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

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

使用

使用 enzyme-matchers,你只需要在测试中使用 Jest 的 expect 方法,并在该方法中使用相应的匹配器。

下面是一些常用的 enzyme-matchers 匹配器:

toBeChecked()

检查一个输入组件是否被选中。

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

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

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

toContainReact()

检查一个组件是否包含某个 React 组件。

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

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

toHaveClassName(className)

检查一个组件是否有特定的 className。

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

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

toHaveDisplayName(componentName)

检查一个组件是否有特定的 displayName。

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

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

toHaveProp(propName, [propValue])

检查一个组件是否有特定的 prop,并可以验证 prop 的值。

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

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

toHaveState(stateName, [stateValue])

检查一个组件是否有特定的 state,并可以验证 state 的值。

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

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

toMatchSelector(selector)

检查一个组件是否能够匹配指定的 CSS 选择器。

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

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

结论

enzyme-matchers 是一个非常好用的 Jest 和 Enzyme 插件,可以帮助你在测试 React 组件时更加高效和可靠。本文介绍了常用的 enzyme-matchers 匹配器和用法,希望可以帮助你学习和掌握这个插件。

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


猜你喜欢

  • npm 包 pm-exec 使用教程

    在前端开发过程中,我们经常需要执行一些命令行指令,例如启动服务、打包项目等。而 pm-exec 是一个能够运行命令行的 npm 包,提供了多种命令行操作方式,可以方便地实现我们的前端开发需求。

    4 年前
  • npm 包 simple-ts-transform 使用教程

    在前端开发中,TypeScript 已经成为了越来越受欢迎的编程语言之一。而简单易用的转换工具也是前端开发者们最喜欢的工具之一。在这篇文章中,我们将介绍 npm 包 simple-ts-transfo...

    4 年前
  • npm 包 ts-transform-test-compiler 使用教程

    在前端开发中,我们经常需要进行单元测试,以确保代码的正确性和可靠性。而 TypeScript 的静态类型检查和更强的面向对象特性使其成为前端开发中的重要角色。在进行 TypeScript 的单元测试过...

    4 年前
  • npm 包 ts-transform-auto-require 使用教程

    简介 在前端开发过程中,经常会使用 TypeScript 进行开发,以提高代码的可维护性和规范性。在 TypeScript 中,我们可以使用模块化的方式进行代码组织和管理,而在模块化的开发中,我们需要...

    4 年前
  • npm 包 confinode 使用教程

    在前端开发中,经常需要读取配置文件。常见的做法是将配置信息放在一个 JSON 文件中存储,在代码中读取这个文件。但是,这种方式有一些问题,比如: 配置信息与代码耦合,可维护性差; 难以处理不同环境下...

    4 年前
  • npm包loadtest的使用教程

    loadtest是一个基于Node.js的npm包,它可以帮助开发者测试Web应用程序的性能和稳定性。使用loadtest可以模拟多个并发用户请求,并在一段时间内对目标服务器进行压力测试。

    4 年前
  • npm 包 replr 使用教程

    在前端开发中,常常需要在控制台中进行一些简单的脚本测试、语法练习等操作。不过,使用原生的控制台进行操作比较不方便,因此有不少开发者会用到 repl 工具。而最近推出的 npm 包 replr 可以方便...

    4 年前
  • npm 包 time-mock 使用教程

    介绍 time-mock 是一个用来模拟时间的 npm 包,它可以将 JavaScript 程序中特定的时间点固定下来,以便更方便地进行测试和调试。这个包不仅仅是为了测试,还可以用在一些需要指定时间点...

    4 年前
  • npm 包 tchannel 使用教程

    在现代 Web 应用程序开发中,高效的网络通信对于整个应用程序的性能和稳定性非常重要。tchannel 是一个由 Uber 开发的开源网络传输协议,用于跨语言之间的高效和可靠通信。

    4 年前
  • npm 包 uber-licence 使用教程

    介绍 npm 是 Node.js 生态系统中的包管理器,可以方便地下载和管理各种 JavaScript 包。其中,uber-licence 是一个用于生成软件许可证的 npm 包,支持包括 ISC、M...

    4 年前
  • NPM 包 tsconfig-loader 使用教程

    在前端开发中,使用 TypeScript 开发愈加普遍。而使用 TypeScript 进行开发,需要借助 tsconfig.json 文件来配置 TypeScript 编译器。

    4 年前
  • npm 包 seneca-store-test 使用教程

    介绍 npm 是 Node.js 的包管理工具,提供了丰富的第三方包,可以为前端开发提供很大的便利,其中包括 seneca-store-test 这个包,它是一个测试用的 seneca 存储后端。

    4 年前
  • npm 包 patrun 使用教程

    在前端开发过程中,我们通常会用到一些第三方库与依赖包,为了更好地管理这些包的安装更新与版本控制,Node.js 提供了 npm 包管理器。patrun 是一款用于匹配和查询 JavaScript 对象...

    4 年前
  • npm 包 seneca-transport-test 使用教程

    前言 在前端开发中,我们经常会使用 npm 包来完成各种复杂的任务。如何正确使用这些 npm 包,是每个前端开发者需要掌握的技能。在本篇文章中,我将介绍如何使用 npm 包 seneca-transp...

    4 年前
  • npm 包 gate-executor 使用教程

    随着前端技术的发展,前端开发者越来越多地使用 Node.js 平台来构建 Web 应用程序。在这个过程中,npm 成为了前端开发的重要一环。npm(Node Package Manager)是 Nod...

    4 年前
  • npm包norma使用教程

    什么是npm包? npm是Node Package Manager的简称,是一个用于管理Node.js模块的命令行工具。Node.js开发者可以通过npm安装、分享、查找和管理其他开发者编写的模块。

    4 年前
  • npm包nua使用教程

    前言 在前端开发中,我们经常需要对字符串进行处理和转换,而nua就是一个非常优秀的npm包,可以方便地操作字符串。下面我们将详细介绍如何使用nua以及它的一些高级用法。

    4 年前
  • npm 包 strict-event-emitter-types 使用教程

    在前端开发中,事件驱动是常见的开发模式。而在 TypeScript 中,由于类型系统的限制,需要对事件的类型进行严格的定义。为了解决这个问题,我们可以使用 npm 包 strict-event-emi...

    4 年前
  • npm 包 ordu 使用教程

    如果你正在进行前端开发工作,你一定需要熟悉 npm 包管理工具。其中,一个十分有用的 npm 包就是 ordu,它是一个 JavaScript 函数库,提供了很多实用的工具函数,有助于提高你的开发效率...

    4 年前
  • npm 包 seneca-basic 使用教程

    在前端开发中,我们常常会需要使用一些模块化的工具库来帮助我们完成一些繁琐的任务。而 npm 包就是其中一个非常重要的工具。今天,我们将介绍一个非常实用的 npm 包 seneca-basic,并提供详...

    4 年前

相关推荐

    暂无文章