npm 包 jest-snapshot-parser 使用教程

阅读时长 5 分钟读完

Jest 是一款由 Facebook 推出的 JavaScript 测试框架,而 jest-snapshot-parser 是 Jest 的一个 npm 包,可以用于解析 Jest 快照的内部结构,并提供方便的 API 进行快照测试。

安装

在使用 jest-snapshot-parser 之前,需要先安装 Jest。可以通过以下命令安装:

然后再安装 jest-snapshot-parser:

使用教程

解析快照

要解析 Jest 快照,首先需要读取快照内容,可以使用 readFileSync 方法读取文件内容,或者直接把快照的文本内容作为参数传递。

检查快照

使用 result.matcherHint 可以获得匹配器的提示信息,如:

使用 result.received 可以获得快照的实际内容(即实际产生的结果),使用 result.expected 可以获得快照的期望内容。

比较快照

使用 equals(a, b) 方法可以比较两个快照对象是否相同。

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

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

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

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

示例代码

假设有如下的测试用例和快照:

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

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

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

我们可以使用 jest-snapshot-parser 来解析这个快照:

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

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

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

使用 jest --watch 命令运行测试后,可以看到测试结果:

说明解析快照成功。

指导意义

使用 Jest 进行单元测试时,快照测试是一种非常有效的测试方式,可以保证代码在变化时对结果的改变可控,且方便进行回归测试。

而 jest-snapshot-parser 封装了 Jest 内部的快照处理逻辑,可以方便地读取、解析、检查、比较快照,减少了我们的工作量和出错的可能性,使快照测试更简单和可靠。

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

纠错
反馈

纠错反馈