npm包snapsjot使用教程

阅读时长 5 分钟读完

在前端开发中,以 JavaScript 为主导的软件生态系统中,npm 是一个相当重要的工具。它是 Node.js 的包管理器,允许您从 npm 仓库中安装和管理软件包。其中一个经常使用的工具是 Snapsjot。

什么是 Snapsjot

Snapsjot是npm的另一个软件包,它允许您轻松比较 JavaScript 项目中的输出。这是一个非常有用的工具,因为它可以让您快速查看有所更改是否会破坏当前项目。

安装 Snapsjot

要安装 Snapsjot,请在控制台中运行以下命令:

值得注意的是,Snapsjot应该作为开发依赖项安装( --save-dev)。

如何使用 Snapsjot

让我们假设您有一个名为 add.js 的文件,其中包含以下内容:

接下来,让我们创建一个测试文件 add.test.js,其中包含以下代码:

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

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

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

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

以上代码将 add.js 文件中的 add 函数作为模块导入,并测试函数能否正常执行。

让我们运行 npm test。由于此时我们没有添加 Snapsjot 的配置,命令会输出以下结果:

我们现在需要在项目根目录中创建一个名为 __snapshots__ 的文件夹。

现在,我们在测试文件 add.test.js 中引入 Snapsjot:

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

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

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

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

此代码将在每次运行测试时自动创建一个快照文件。快照文件将保存在 __snapshots__/ 文件夹中。输出应如下所示:

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

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

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

  -

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

您可以在控制台中看到一个叫做 __snapshots__/add.test.js.snap 的文件,它包含测试结果。

如果我们(故意或无意间)更改了 add.js 中的函数,则在下次测试运行时,我们会收到类似下面的错误:

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

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

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

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

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

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

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

这表明一个测试用例已失败,因为快照与修改后的输出不一致。新行 exports [ 'adds 1 + 2 to equal 3 1' ] = '4'; 显示了快照的实际内容。

运行 jest -unpm test -- -u 可以更新快照。

总结

在本文中,我们简要介绍了 Snapsjot 的工作原理,并提供了一个具体的案例来演示如何使用它。尝试在自己的项目中集成 Snapsjot,您可能会发现它是一个非常有用的工具,可以帮助您减少破坏已有代码的风险,提高代码质量和可靠性。

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

纠错
反馈