npm 包 resolve-snapshot-lite 使用教程

介绍

resolve-snapshot-lite 是一个 npm 包,用于封装 GraphQL 的快照测试(Snapshot Testing)。

在前端开发中,我们写测试用例的目的是为了验证代码的正确性,但对于涉及到异步数据的情况,写测试用例就较为困难。针对这种情况,GraphQL 提供了一种方法,就是通过快照测试来验证异步查询结果的正确性。

resolve-snapshot-lite 就是一个非常实用的 npm 包,它可以帮助我们更方便地进行 GraphQL 快照测试。

安装

我们可以通过以下命令来安装 resolve-snapshot-lite :

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

使用教程

1. 配置快照测试

首先,我们需要配置 jest 的测试运行器,使其支持快照测试。

在 package.json 文件中添加以下代码:

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

2. 编写测试用例

在编写测试用例时,我们需要在文件头部引入 resolve-snapshot-lite:

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

然后,我们可以针对某个异步查询编写测试用例:

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

3. 运行测试

现在我们可以运行测试了:

--- ----

如果测试通过,将会在 snapshots 目录下生成一个快照文件。

4. 更新测试快照

当异步查询的响应数据发生变化时,我们需要更新测试快照。

在运行测试时,如果某个测试用例的结果与快照文件中的数据不一致,jest 会提示我们需要更新快照:

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

我们只需要使用 jest 提供的更新快照的命令:

--- ---- --

就可以更新快照文件了。

示例代码

以下代码是一个完整的使用示例:

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

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

总结

resolve-snapshot-lite 的设计初衷是为了帮助我们更方便地进行 GraphQL 的快照测试,减少我们的测试用例编写量,提升测试效率。如果你经常在前端开发中使用 GraphQL,那么 resolve-snapshot-lite 这个 npm 包肯定是一个不错的选择。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/63809


猜你喜欢

  • npm 包 gearman-packet 使用教程

    简介 gearman-packet 是一个基于 Node.js 的 npm 包,用于与 Gearman 服务器进行通信。Gearman 是一个用于分布式计算的服务器软件,可用于处理大量 CPU 密集型...

    5 年前
  • npm 包 emptyfunction 使用教程

    在前端开发中,我们经常需要定义一些空函数。空函数并不执行任何操作,但是由于可以在任何需要函数的地方进行调用,因此对程序的可读性和可维护性有很大的提升。npm 包 emptyfunction 就是一种封...

    5 年前
  • npm 包 duplex-combination 使用教程

    什么是 duplex-combination? duplex-combination 是一个 npm 包,它提供了一个可以将多个 Node.js 双工流(Duplex Stream)合并成一个单独的流...

    5 年前
  • npm 包 standard-error 使用教程

    简介 standard-error 是一个用于处理错误信息的 npm 包。该模块旨在提供一种更简单、更清晰的方式来生成和处理错误。 安装 使用 npm 安装该包: --- ------- ------...

    5 年前
  • npm 包 Abraxas 使用教程

    在开发前端应用时,我们经常会用到各种 npm 包。其中,Abraxas 是一个非常强大的 npm 包,它提供了许多有用的前端组件和工具。本文将详细介绍如何使用 Abraxas,包括安装、使用和示例代码...

    5 年前
  • npm 包 express-defend 使用教程

    简介 express-defend 是一个 Node.js 应用程序安全性工具,它可以帮助防止表单垃圾邮件和暴力攻击。它基于 Express.js,提供一组防止垃圾邮件和暴力攻击的中间件和功能。

    5 年前
  • npm 包 express-blacklist 使用教程

    简介 express-blacklist 是一个基于 Node.js 平台下的 express 框架开发的一个 npm 包,用于在 Express 应用中实现 IP 黑名单功能。

    5 年前
  • npm 包 express-socket.io-session 使用教程

    #npm 包 express-socket.io-session 使用教程 在前端开发中,Socket.io 是一个非常流行的 web 套接字库,它提供了一个简单而强大的方式建立实时通信。

    5 年前
  • NPM 包 express-fileupload 使用教程

    在前端开发中,文件上传是一个很常见的需求,而 express-fileupload 是一个方便实现文件上传的 Node.js 模块,它能够将用户上传的文件保存在本地、传输到远程服务器等。

    5 年前
  • npm 包 gearmanode 使用教程

    Gearman 是一个分布式的任务队列系统,它可以用来解决一些并发性高、复杂度大的任务处理,比如大规模数据存储、数据分析、视频编解码等,可以实现高效的任务管理和负载均衡等功能。

    5 年前
  • npm 包 clean-for-publish 使用教程

    在进行前端开发的过程中,我们经常需要编写、安装以及发布 npm 包。如果我们希望发布的包仅包含有用的文件,而不是暂存文件、测试文件以及其他不必要的文件,我们可以使用 clean-for-publish...

    5 年前
  • 前端类技术文章:npm 包 grunt-karma-coveralls 使用教程

    在前端开发过程中,我们常常需要对代码进行测试,这是保证代码质量的关键步骤之一。在测试中,需要使用到 Karma 和 Coveralls 这两个工具,而 grunt-karma-coveralls 是将...

    5 年前
  • npm 包 combyne 使用教程

    在前端开发中,模板引擎是必不可少的一部分。而 combyne 就是一个优秀的模板引擎,它提供了简单易懂的语法和强大的功能。在本文中,我们将会为大家讲解如何使用 combyne。

    5 年前
  • JS常用正则表达式备忘录

    正则表达式是前端开发中非常重要的一项技能,它可以帮助我们有效地处理文本数据。在JS中,通过使用RegExp对象,我们可以快速地创建并应用正则表达式。本文将介绍一些常用的正则表达式,并提供示例代码以加深...

    5 年前
  • npm包nodegit使用教程

    介绍 nodegit是一个用于Node.js和io.js的轻量级开源git客户端,是libgit2的JavaScript端口。与其他Git客户端相比,使用nodegit更轻量级、性能更高,更加适合于特...

    5 年前
  • npm 包 lines-adapter 使用教程

    简介 lines-adapter 是一个 npm 包,它提供了一个易于使用的方法,用于处理文本文件(例如 CSV、TSV 等)中的数据行。该包可以用于前端开发中,用于读取和处理本地文件或从服务器下载的...

    5 年前
  • npm 包 browser-launcher3 使用教程

    前言 在前端开发中,经常需要在浏览器中查看效果。如果我们手动打开浏览器并输入地址,那么势必会浪费不少时间。那有没有一种方法可以让我们快速在多个浏览器中打开地址呢?答案是肯定的,npm 包 browse...

    5 年前
  • npm 包 launch-browser 使用教程

    在开发前端应用时,我们经常需要在浏览器中测试我们的应用是否可以正常运行。但是手动在浏览器中输入 URL 并不是一种高效的方式。npm 包 launch-browser 可以帮助我们快速自动打开浏览器,...

    5 年前
  • npm 包 camelify 使用教程

    在前端开发的过程中,常常需要对数据格式进行转换。而其中最常见的一种格式转换就是将某些字符串中的下划线(_)或破折号(-)转换成驼峰式命名。为了帮助开发者更加方便地进行字符串格式转换,npm 社区推出了...

    5 年前
  • NPM 包 npm-sass 使用教程

    前言 在前端开发中,sass 是一种非常流行的 CSS 预处理器,它提供了许多便捷的功能,使得 CSS 的编写更加高效和简洁。但是要使用 sass,我们需要先将 sass 文件编译成 CSS 文件。

    5 年前

相关推荐

    暂无文章