npm 包 enzyme-matchers 使用教程

阅读时长 7 分钟读完

简介

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

纠错
反馈