npm 包 chai-graphql 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

前言

chai-graphql是一个用于测试GraphQL API的npm包,它基于mocha和chai测试框架,提供了一些测试GraphQLAPI的有用工具。

本教程将通过examples说明如何使用chai-graphql

安装

在项目中使用npm或yarn安装

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

使用

示例

假设您有一个GraphQL API的终端节点:http://localhost:4000/graphql,它有一个query叫做getUser(id:ID!),这个query会从数据库中返回一个用户,需要验证返回的用户是否和预期一样

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

以下是一个使用chai-graphql的测试代码示例,以确保您返回的用户id是“user_123”:

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

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

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

上述示例代码将执行GraphQL查询,并确保返回的数据与预期数据相同。使用chai-graphql,您可以将预期的响应与实际响应进行比较,这使得测试更加容易。

API

chai-graphql提供以下断言:

graphql(schema)

使用此断言对GraphQL查询进行断言:

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

graphqlError(regex)

使用此断言对GraphQL错误进行断言:

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

graphqlMutationError(regex, path?)

使用此断言对GraphQL错误进行断言,并指定错误路径,用于断言特定的错误:

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

结论

我们已经学习了如何使用chai-graphql包来测试GraphQL API。chai-graphql提供了丰富的API和有用的断言,可以使您的GraphQL测试更加简单,快速和高效。

使用chai-graphql可以显着降低测试失败的风险,增强测试用例的可读性和可维护性,同时还可以使您更加自信地将API推向生产环境。

希望您能运用本教程所学的内容,有效地测试您的GraphQL API,并获得不断的提高!

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


猜你喜欢

  • npm 包 dnest 使用教程

    dnest 是一个轻量级的 JavaScript 库,提供了一种简单而强大的方式来遍历和操作嵌套的对象和数组。在前端开发中,经常会遇到需要遍历和操作嵌套对象和数组的场景,比如从后端接口获取到的 JSO...

    2 年前
  • npm 包 cordova-plugin-firebase-tenancy 使用教程

    前言 Firebase 是目前广泛应用于前端的一种云服务平台,提供多种服务,如实时数据库、身份验证、推送通知等。而 Cordova 则是一款将 Web 应用程序封装为原生移动应用程序的开发框架。

    2 年前
  • npm 包 kaa-table 使用教程

    介绍 kaa-table 是基于 React 的一个数据表格组件,它支持排序、筛选、分页等功能,使用简单实用,非常适合前端开发者使用。 安装 你可以通过 npm 安装 kaa-table: --- -...

    2 年前
  • npm 包 global-apocalypse 使用教程

    在前端开发中,我们经常需要使用 npm 包来方便我们的编程。而 npm 上已经有很多非常实用的包了。其中,一个重要的 npm 包就是 global-apocalypse。

    2 年前
  • npm 包 mgw-mock-objects 使用教程

    什么是 mgw-mock-objects mgw-mock-objects 是一个基于 Node.js 的 npm 包,能够帮助前端开发人员更加有效地进行单元测试。

    2 年前
  • npm 包 search-text-meorient 使用教程

    简介 search-text-meorient 是一款基于文本搜索的 npm 包,可以帮助前端开发者在网页中快速地搜索并定位到指定的文本内容。该包简单易用,可以将文本搜索功能整合进网页中,方便用户查找...

    2 年前
  • npm 包 shrinkwrap-to-lockfile 使用教程

    在前端开发过程中,我们经常需要使用 npm 包管理工具来管理项目依赖,确保项目的可靠性和稳定性。npm shrinkwrap 包是 npm 包管理工具中的一个重要功能,它允许我们固定每个依赖包的版本,...

    2 年前
  • npm 包 timed-stream 使用教程

    前言 随着互联网的发展,页面越来越复杂,前端开发变得越来越重要。而 Node.js 的出现使得前端开发更加强大,它为前端开发提供了很多方便的工具和库。其中,npm 是 Node.js 的包管理器,它提...

    2 年前
  • npm 包 vide-plugin-format 使用教程

    #npm 包 vide-plugin-format 使用教程 简介 vide-plugin-format 是一款非常灵活的 JavaScript 库,它可以用来处理和转换各种视频格式。

    2 年前
  • npm 包 cordova-plugin-market-ibby 使用教程

    当我们需要开发混合移动应用时,Cordova 是一个非常不错的选择。它可以让我们使用网页技术构建原生应用,而且支持丰富的插件生态系统。其中,cordova-plugin-market-ibby 是一个...

    2 年前
  • npm 包 cordova-plugin-powermanagement-ibby 使用教程

    前言 在移动端应用程序开发过程中,经常会遇到需要控制设备电源管理的需求,例如在应用程序不活跃时让设备进入休眠状态,以降低耗电量。而 cordova-plugin-powermanagement-ibb...

    2 年前
  • npm 包 cordova-plugin-streaming-media-ibby 使用教程

    介绍 cordova-plugin-streaming-media-ibby 是一个使用 Cordova 开发应用的时候,可以使用的一个插件,它可以在应用中播放流媒体文件。

    2 年前
  • npm 包 pico-http 使用教程

    什么是 pico-http pico-http 是一个小巧轻便的 HTTP 服务器。它由 JavaScript 编写,并可以在 Node.js 或浏览器端使用。它可以用来快速地搭建一个简单的服务器,进...

    2 年前
  • npm 包 activity-frem 使用教程

    在前端开发中,我们经常会需要在页面上添加各种交互效果,比如展开折叠、轮播图、下拉菜单等等。而很多这样的效果,我们可以通过使用 npm 包来快速实现。本篇文章将介绍一个名为 activity-frem ...

    2 年前
  • npm 包 koa-allow-origin 使用教程

    在前端开发中,经常会用到 koa 框架来构建后端应用程序。而在跨域请求时,需要设置响应头中的 Access-Control-Allow-Origin 字段。koa-allow-origin 就是一个可...

    2 年前
  • npm 包 tempexample 使用教程

    npm 是现代 JavaScript 应用程序的标准包管理器,它是 Node.js 平台的一部分,提供了一种下载和安装 JavaScript 库的方式。而 tempexample 就是常用的一个 np...

    2 年前
  • npm 包 three-fisheye 使用教程

    在 3D 渲染的前端项目中,three.js 是一个广受欢迎的开源库。其中,three-fisheye 这个 npm 包可以用来添加鱼眼效果,使得渲染出的场景更具有真实感和视觉冲击力。

    2 年前
  • npm 包 gulp-tumblr-theme-parser 使用教程

    简介 gulp-tumblr-theme-parser 是一个基于 Gulp 的 npm 包,用于解析 Tumblr 主题,并将其转换为可供网页展示的 HTML 和 CSS 代码。

    2 年前
  • npm 包 postal-address 使用教程

    简介 邮政地址是我们生活中经常涉及的一种信息,而在前端开发中,我们也经常需要使用邮政地址的信息。然而,邮政地址的格式并不统一,不同国家、地区的邮政地址格式都可能不同,这对于我们前端开发者来说是一种挑战...

    2 年前
  • npm 包 fuzzy-search-meorient 使用教程

    介绍 fuzzy-search-meorient 是一款基于模糊搜索算法的 npm 包。它可以帮助用户在给定的文本集合中,快速定位并返回与查询字符串相关的文本。 安装 在使用 fuzzy-searc...

    2 年前

相关推荐

    暂无文章