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