npm 包 gherkish 使用教程

gherkish 是一个基于 cucumber 的测试框架,用来执行 end-to-end 的测试。通过写 gherkin 语言的测试用例,可以快速编写测试代码,同时也方便非开发人员了解测试过程。在本教程中,我们将学习如何使用 npm 包 gherkish,包括安装、配置和编写测试用例。

安装 gherkish

安装 gherkish 可以通过 npm 来进行:

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

安装完成后,我们可以在项目的 package.json 文件中看到 gherkish 的依赖项。

配置 gherkish

在运行 gherkish 的时候,我们需要配置测试用例的位置以及运行的设置。在项目的根目录下新建一个 gherkish.js 的文件,并加入以下内容:

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

其中,specs 项用来指定测试用例的位置,这里使用了 glob 模式,** 表示匹配任意多级目录,在 features 文件夹中的 .feature 文件都会被匹配到;cucumberArgs 项用来指定运行时的一些参数,本示例中表示加载 step_definitions 文件夹中的代码。

编写测试用例

gherkin 是一种基于自然语言的 DSL(领域特定语言),可以让非开发人员更容易理解测试用例。下面是一个简单的示例:

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

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

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

这个测试用例描述了一个简单的需求:一个用户想要把两个数字相加,以便得到结果。我们可以使用 gherkish 提供的步骤定义来实现这个测试:

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

--- -------

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

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

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

在上述代码中,我们使用了 GivenWhenThen 这几个步骤定义,分别代表了测试用例中的前置条件、测试操作以及测试断言。在运行测试用例时,gherkish 会根据测试用例文件中的描述来匹配到对应的步骤定义,并执行代码。

运行测试用例

通过上述步骤的编写,我们已经准备就绪可以运行测试了。在 package.json 文件中添加如下命令:

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

然后在终端中输入 npm test 来运行测试用例。你会看到测试执行的结果,如果测试失败则会打印出详细的错误信息。

结语

gherkish 可以帮助我们快速编写和执行测试用例,通过 gherkin 语言可以让测试用例更加易于理解。在实际应用中,可以根据业务需求编写更多的测试用例,并通过 gherkish 来自动化执行这些测试,从而提高开发效率和软件质量。

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


猜你喜欢

  • npm 包 Entourage 使用教程

    前言 Entourage 提供了一个简洁明了的 API,让你能够方便地的调用 HTTP 请求,同时支持 Promise、中间件以及自定义策略等。本文将为大家详细介绍 npm 包 Entourage 的...

    4 年前
  • npm 包 React Tooltip Player 使用教程

    React Tooltip Player 是一款基于 React 的组件库,用于制作交互式视频教程。它可以在视频播放的同时向用户提供提示和说明,增强用户的学习体验,同时也方便了开发者制作高质量的教程内...

    4 年前
  • npm 包 @linto-ai/node-red-linto-skill-calendar 使用教程

    前言 在开发前端应用时,我们难免会使用到一些第三方的库或者包。其中,npm 包是前端开发必备之一。而本文要讲述的是 @linto-ai/node-red-linto-skill-calendar 这个...

    4 年前
  • npm 包 blear.ui.prompt 使用教程

    在前端开发中,有时候需要为用户提供一些弹窗提示信息,比如确认对话框、错误提示框等等。而 npm 包 blear.ui.prompt 正是为此而设计的一个解决方案。 简介 blear.ui.prompt...

    4 年前
  • npm 包 @system76/eslint-config-standard 使用教程

    介绍 在前端开发过程中,使用好的代码规范可以提高代码的质量和可维护性,同时也有助于团队协作和项目进度的把控。而 ESLint 就是一个非常流行的 JavaScript 代码规范检查工具。

    4 年前
  • npm 包 @system76/standard 使用教程

    在前端开发过程中,我们需要时刻关注我们的代码规范是否符合标准。在 JavaScript 中,我们可以通过使用不同的 linter 来强制保持代码风格的一致性。而 @system76/standard ...

    4 年前
  • npm 包 image-utils-js 使用教程

    在前端开发中,经常需要对图片进行处理,比如裁剪、缩放、滤镜等等。而这些操作通常需要借助第三方库,其中一款比较好用的是 image-utils-js。 那么,下面就来介绍一下这个 npm 包的使用教程,...

    4 年前
  • npm 包 @ivansotelo/signature 使用教程

    当涉及到前端的签名和加密领域时,npm 包 @ivansotelo/signature 是一个非常实用的工具。它提供了一种简单易用的方式来实现数字签名,使得你可以轻松地保护你的数据传输和存储。

    4 年前
  • npm 包 greenwaterbottle 使用教程

    npm 是一个开源的全球最大的软件包管理系统,其中包含了大量的优质前端类技术库,而 greenwaterbottle 就是其中的一款。 本文将为大家详细介绍如何使用 greenwaterbottle。

    4 年前
  • npm 包 ts-shelf 使用教程

    在前端开发中,我们经常会使用 TypeScript 来进行编写和管理代码,而 npm 则是我们管理依赖的必备工具。然而在使用 TypeScript 进行开发时,我们可能经常会遇到许多重复性的工作,比如...

    4 年前
  • npm 包 seed-mock 使用教程

    前言 Mock 数据是前端开发中必不可少的一环,利用 mock 数据可以在前端开发过程中,尽可能减少后端接口调用的次数,同时稳定地测试前端代码,提高开发效率。在这一篇文章中,我们将介绍使用 npm 包...

    4 年前
  • npm包wsse-token使用教程

    介绍 WSSE-token是一种基于WS-Security规范的认证方式。它能够防止网络上的非法篡改和重放攻击。本文将介绍npm包wsse-token的使用方法。 安装 安装npm包wsse-toke...

    4 年前
  • NPM包marquee-ora使用教程

    简介 marquee-ora是一个高度可自定义的Marquee/Scroller包,具有多种滚动方向,速度和动画样式。此教程将为你提供 marquee-ora 的详细使用方法。

    4 年前
  • npm 包 librarity 使用教程

    什么是 librarity librarity 是一个基于 JavaScript 的前端库和框架,它提供了许多有用的功能和工具,可以帮助开发者轻松构建高效、可靠和易维护的 Web 应用程序。

    4 年前
  • npm 包 larvitbase-api 使用教程

    什么是 larvitbase-api Larvitbase-api 是一个基于 Express 框架的 API 服务端框架,其目的是帮助开发者快速建立后端服务,并提供了一些常用的 backend 功能...

    4 年前
  • npm 包 uglymol 使用教程

    简介 uglymol 是一个基于 Three.js 的分子可视化库,可用于在网页上实现分子结构和动画的展示。它提供了丰富的功能和灵活的接口,使得开发者能够定制自己所需的分子可视化效果。

    4 年前
  • npm包 walk-asyncgen使用教程

    简介 walk-asyncgen是一个Node.js模块,它提供了一种非常优雅的方式来遍历异步生成器异步生成的目录树。 在现代的前端开发中,我们需要经常读写文件,这时候对目录进行遍历是一个非常常见的需...

    4 年前
  • npm 包 @pandell/typescript-plugin-css-modules 使用教程

    在前端开发中,使用 CSS modules 可以帮助我们更好地封装样式,提高样式的可复用性和可维护性。而使用 TypeScript 来编写前端代码也有助于提高代码的健壮性和可读性。

    4 年前
  • npm 包 jupyterlab-cell-output 使用教程

    概述 jupyterlab-cell-output 是一个 npm 包,它是 JupyterLab 的一个扩展,可以帮助用户创建可扩展且交互性强的 Jupyter Notebook。

    4 年前
  • npm 包 footing 使用教程

    什么是 Footing? Footing 是一个能够生成固定页脚的 npm 包,您可以使用单个标记轻松配置和管理页脚内容。Footing 功能丰富,支持诸如页码、日期、版权信息等等诸多选项,为您的网站...

    4 年前

相关推荐

    暂无文章