npm 包 common-gql-tester 使用教程

在写前端应用的时候,我们经常需要对后端提供的 GraphQL API 进行测试。这时,一个好的测试工具可以大大降低我们测试的难度和时长。本文将为大家介绍一款基于 Node.js 的测试工具——common-gql-tester。

安装

在使用 common-gql-tester 之前,我们需要保证本地已经安装了 Node.js 以及 npm 包管理器。如果没有安装,可以前往官方网站 https://nodejs.org/ 下载并进行安装。

安装 common-gql-tester 非常简单,只需要在命令行中执行以下命令即可:

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

使用

安装完成后,我们就可以愉快地使用 common-gql-tester 进行测试了。下面讲解一下如何使用。

初始化

首先,我们需要在测试文件中引入 common-gql-tester:

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

然后,我们通过 createTestClient 方法来创建一个测试客户端:

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

其中,endpoint 为你的 GraphQL API 的入口地址。如果你的 API 不在本地运行,需要填写对应的地址。

发送请求并断言

测试客户端创建完成后,我们就可以使用它来进行请求和断言了。

以查询用户为例,如果我们想测试查询用户的接口,可以这样写:

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

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

首先,在测试文件中定义了一个 USER_QUERY,它表示查询用户的 GraphQL 语句。然后,我们使用测试客户端的 query 方法来发送这个请求,并将结果保存在 data 中。

最后,我们使用 chai 库的 expect 方法来断言返回的结果是否符合预期。比如上面的代码中,我们期望查询到的用户是名为 Tom,年龄为 18 岁的用户。如果测试结果不符合预期,expect 方法会抛出 AssertionError。

除了 query 方法,测试客户端还提供了 mutate 方法,用于发送变更请求(比如添加、修改和删除等操作)。使用方式类似。

示例代码

下面是一个完整的示例代码,它测试了一个查询用户的接口。

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

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

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

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

总结

通过本文的介绍,相信大家已经了解了 common-gql-tester 的基本使用方法。它可以帮助我们快速进行 GraphQL API 的测试,并且在测试失败时提供了友好的 AssertionError。如果你还没有使用过 GraphQL 的测试工具,建议你尝试一下 common-gql-tester。

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


猜你喜欢

  • npm 包 stably 使用教程

    在前端开发中,日常使用的 npm 包越来越多,其中一个值得推荐的 npm 包是 stably,它是一个可以帮助开发者快速实现网页滚动时固定元素的工具。本文将为读者详细介绍如何使用 stably 这个 ...

    5 年前
  • npm 包 fslogger 使用教程

    介绍 fslogger 是一个基于 Node.js 的 npm 包,它可以在前端的应用中方便地记录日志。使用 fslogger 可以帮助前端开发者更加高效地调试和优化应用程序。

    5 年前
  • npm 包 storjshare-daemon 使用教程

    介绍 Storj 是一个去中心化的云存储平台,通过区块链技术来验证和保证数据的安全性。Storjshare-daemon 是一个用于加入 Storj 网络的工具,通过此工具可以成为 Storj 网络的...

    5 年前
  • npm 包 storj-admin-cli 使用教程

    前言 Storj 是一个分布式的加密存储网络,而 storj-admin-cli 则是 Storj 管理工具,它可以方便地管理 storj 节点和仓库。在本文中,我们将介绍如何使用 npm 包 st...

    5 年前
  • npm 包 storj-service-storage-models 使用教程

    随着云存储的普及,Storj 成为了一种新的分散式云存储技术。在使用 Storj 进行文件存储时,一个关键的步骤就是数据模型的定义。这时,一个适用的 npm 包 storj-service-stora...

    5 年前
  • npm 包 storj-service-error-types 使用教程

    简介 storj-service-error-types 是一个 Node.js 模块,旨在提供和存储 Node.js 或浏览器应用程序中的 Storj 服务错误相关的类型。

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

    什么是storj-express Storj-express是一个基于Express的Node.js模块,可用于在Storj网络上构建Web应用程序。此模块旨在为开发人员提供一种简单而有效的方式来管理...

    5 年前
  • npm 包 storj 使用教程

    在进行 web 开发时,我们常常需要存储和管理大量的文件。而使用传统的存储方式,如数据库或云存储服务,可能会带来一些繁琐的配置和高昂的费用。这时,使用 P2P 存储技术便是一个不错的选择。

    5 年前
  • npm 包 deaddrop-core 使用教程

    在前端开发中,我们经常需要用到一些工具或者库来帮助我们更高效地完成工作。而 npm 则成为了前端领域最为流行的包管理工具之一,能够让我们轻松地引入和管理依赖。 在众多 npm 包之中,deaddrop...

    5 年前
  • npm 包 ecc-envelope 使用教程

    引言 随着区块链技术的发展,数字签名和加密技术变得越来越重要。ECC(椭圆曲线密码学)是一种非对称加密算法,在很多区块链应用中被广泛应用。ecc-envelope 是一个 npm 包,它提供了将字符串...

    5 年前
  • npm 包 hdname 使用教程

    前言 在前端开发中,我们经常需要处理文件名和路径,而且有时候需要对文件名做一些特定的操作,比如加密、解密、替换等。npm 上有一些很好的包可以帮助我们完成这些任务,比如 hdname。

    5 年前
  • NPM 包 “ecdsa” 使用教程

    ECDSA 是一种公钥加密算法,也是比特币等数字货币当中用于数字签名的标准之一。如果你需要在 Node.js 应用程序中使用 ECDSA,那么 ecdsa NPM 包就是一个不错的选择。

    5 年前
  • npm 包 skelpyjs 使用教程

    前言 在前端技术发展的时代背景下,我们不仅要掌握大量的技术语言和框架,还需要学会如何选择和使用 npm 包。本文将为大家介绍一款优秀的 npm 包 skelpyjs,该包可以帮助前端开发者更好地管理项...

    5 年前
  • npm 包 browserify-bignum 使用教程

    简介 browserify-bignum 是一个基于浏览器端的 npm 包,它可以用于处理大整数计算。这个包的实现是基于 bignum 模块,并通过浏览器端的 Browserify 工具使其可以在浏览...

    5 年前
  • NPM包Yuntan-Service使用指南

    简介 Yuntan-Service是一个基于Node.js的云端基础服务,主要用于提供各种基础功能,如:日志管理、文件管理、邮件发送等,本篇文章主要介绍如何使用Yuntan-Service。

    5 年前
  • npm 包 yuntan-gateway 使用教程

    yuntan-gateway 是一个基于 Node.js 的网关模块,可用于将数据从云端传输到设备端。它使用了 yuntan-iot 平台提供的 API 接口进行通讯。

    5 年前
  • npm 包 fast-sha256 使用教程

    前言 SHA-256 是一种广泛应用于密码学、信息比对等领域的加密算法。在前端开发中,我们有时会需要在客户端对数据进行 SHA-256 加密,并将加密后的结果传输给后端进行比对。

    5 年前
  • npm 包 zeo-blockchain 使用教程

    在前端开发中,我们经常需要处理区块链相关的数据和应用。为了更高效地完成这些任务,npm 提供了许多有用的包,其中 zeo-blockchain 就是一个非常实用的 npm 包。

    5 年前
  • npm 包 zeo-name 使用教程

    概述 在前端开发中,常常需要生成唯一的随机名称,这时候可以使用 npm 包 zeo-name 来生成随机名称。这篇文章将详细介绍如何使用 zeo-name 包,并提供示例代码来方便读者理解。

    5 年前
  • npm 包 jsonschema-bigquery 使用教程

    前言 在现代 Web 开发中,前端是不可分割的一部分。前端工程师为了能够提升工作效率以及缩短开发时间,往往会使用一些第三方库和工具。其中,npm 是一个非常流行的包管理工具,用来管理各种 JavaSc...

    5 年前

相关推荐

    暂无文章