使用 Jest 测试 Vue.js 组件

阅读时长 4 分钟读完

在 Vue.js 应用程序中,组件是构建用户界面的关键部分。为了确保它们在不同的环境和配置下的正确运行,您需要对它们进行测试。 Jest 是一个流行的 JavaScript 测试工具,它可以帮助您有效地测试 Vue.js 组件。本文将介绍如何使用 Jest 来测试 Vue.js 组件。

安装 Jest

首先,您需要安装 Jest。在终端中输入以下命令:

编写测试代码

现在您可以开始编写测试代码了。我们将采用单文件组件和 Jest 的 snapshot 测试。

单文件组件是将组件的模板、脚本和样式打包在一个文件中的技术。与使用模板字符串和 script 标记的方式相比,它更具有可重用性和模块性。以下是单文件组件的示例代码:

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

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

-------
---- -
  ----------------- --------
  -------- -----
-
-- -
  ------ -----
  ---------- -----
  -------------- -----
-
------ -
  ------ ------
  ----------------- -----
  -------- --- -----
  ------- -----
  -------------- -----
-
- -
  ------ ------
  ---------- -----
-
--------
展开代码

现在,让我们编写测试代码,以确保组件按预期工作。我们将使用 Jest 的 snapshot 测试功能,该功能在第一次运行测试时捕获组件的输出,并将其保存在 .snap 文件中。在后续测试运行期间,它将检查组件的输出是否与先前的快照相同。如果不是,则测试将失败。

为了方便起见,在 test 文件夹中创建名为 app.spec.js 的文件,并将以下代码复制到该文件中:

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

------------------- -- -- -
  ----------- ----------- -- -- -
    ----- ------- - ------------------
    -----------------------------------------
  ---
---
展开代码

该代码使用 shallowMount 函数将组件包装在一个存根(不包含实际 DOM 元素的组件)中,以便测试组件输出。然后,它使用 Jest 的 toMatchSnapshot 函数将组件输出与先前的快照进行比较。如果组件输出有任何更改,则测试将失败。

运行测试

现在,您可以运行测试,检查组件是否按预期显示。

在终端中输入以下命令:

Jest 将运行测试,并显示测试结果。如果一切正常,则测试将通过。

总结

测试 Vue.js 组件对于确保它们在不同的环境和配置下的正确运行至关重要。使用 Jest 可以帮助您编写简单、可读且可维护的组件测试。本文向您展示了如何使用 Jest 来测试 Vue.js 组件。现在,您可以尝试在自己的 Vue.js 应用程序中使用 Jest 进行组件测试。

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

纠错
反馈

纠错反馈