npm 包 unexpected-htmllike-reactrendered-adapter 使用教程

阅读时长 4 分钟读完

介绍

在前端开发中,我们经常需要编写单元测试来保证代码的正确性。在 React 开发中,有时需要针对渲染后的组件进行测试,这个时候就需要使用类似于 HTML 的组件渲染适配器。接下来,我们将介绍一个强大的 npm 包:unexpected-htmllike-reactrendered-adapter,它可以让我们使用 unexpected 库来轻松地测试渲染后的组件。

安装

首先需要安装 unexpectedunexpected-htmllike-reactrendered-adapter

使用

下面我们将演示如何在测试中使用这个适配器。

基于 shallow 渲染

我们首先需要使用 React 的 shallow 渲染器,这个渲染器可以快速渲染一个组件,但是它只渲染了组件的顶层节点。

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

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

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

在这个例子中,我们使用了 with adapter 语句,将 adapter 设置为 ReactRenderedAdapter。然后使用 to have rendered 语句断言渲染结果是否符合预期。

基于 mount 渲染

如果需要渲染更深层次的组件,我们需要使用 mount 渲染器。这个渲染器会完全渲染组件,包括所有子组件。

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

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

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

在这个例子中,我们使用了 with adapter 语句,并将 adapter 设置为 ReactRenderedAdapter。然后使用 to have rendered 语句断言渲染结果是否符合预期。

总结

通过使用 unexpected-htmllike-reactrendered-adapter,我们可以在测试中方便地使用 unexpected 库来测试渲染后的组件。它是一个非常强大的工具,可以大大提高我们的测试效率和准确性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc062b5cbfe1ea0611c8f

纠错
反馈