npm包supertest-as-promised使用教程

npm包supertest-as-promised使用教程

简介

supertest-as-promised是一个使用了supertestchai-as-promised两个npm包的桥接包。它使得我们能够更好地在express.js应用程序中测试Promises。本文将会详细介绍如何使用该包进行前端应用程序测试。

准备工作

在我们开始使用supertest-as-promised求之前,需要确保我们对以下知识点有基本的了解:

  1. Express.js框架
  2. 软件与包的安装与管理(npm)
  3. 测试(Mocha/Chai)

如果您对以上知识点缺乏了解,我们建议您先去学习它们。

npm 安装 supertest-as-promised

我们可以直接在我们的项目文件夹中打开命令提示符,然后在其中运行以下代码:

npm install supertest-as-promised --save-dev

使用supertest-as-promised

在介绍如何使用supertest-as-promised包之前,我们先看一个没有使用该包的测试示例:

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

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

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

上述代码演示了在测试应用程序中使用Supertest的一般方式,Supertest允许我们application实例测试应用程序。我们可以直接应用.end()来操作promise。然而,如果我们想对expect() 进行扩展,我们会发现它会被直接处理。

supertest-as-promised针对这个问题进行了处理,我们可以使用其扩展chai-as-promised的功能来完成promise。

下面是如何使用supertest-as-promised包的示例代码:

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

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

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

在以上示例中,我们使用supertest-as-promised的格式为:

const supertest = require('supertest-as-promised')(application);

并进一步使用这个包装方法来承载我们的express.js应用程序,并将其传递给supertest。这使得chai能够使用.eventually以及chai-as-promised的其他方法来执行promise的检查,同时它也可以使用chai.js的标准任何功能。

总结

前端应用程序的测试是非常重要的,并且有助于让我们了解我们应用程序的实际运行情况。通过使用supertest-as-promised,我们能够更容易地测试我们的应用程序,并将其与内部状态进行比较。本教程旨在介绍如何npm安装此包,以及如何在你的应用程序中使用它。

感谢您对本文的阅读,希望能对您的前端开发工作有所帮助。

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


猜你喜欢

  • npm 包 aglob 使用教程

    简介 aglob 是一个基于 Node.js 平台的 npm 包,它提供了在前端开发中常用的文件路径匹配与操作函数。你可以利用它来匹配文件路径、删除或复制指定路径下的文件等等。

    5 年前
  • npm 包 arrayfilter 使用教程

    在前端开发中,数组常常是我们需要处理的数据类型之一。而使用数组筛选函数可以帮助我们更加便捷地处理数据,提高工作效率。在这篇文章中,我们将介绍如何使用 npm 包 arrayfilter 来实现数组筛选...

    5 年前
  • npm 包 stringcase 使用教程

    什么是 stringcase stringcase 是一款可以用于字符串格式转换的 npm 包,支持的格式包括: camelCase PascalCase snake_case kebab-case...

    5 年前
  • npm包abind使用教程

    简介 abind是一个npm包,该包可以方便地绑定this对象,旨在使函数式编程更容易。abind在React、Redux、RxJS等前端框架中得到了广泛的应用。 在本文中,我们将详细介绍如何安装、使...

    5 年前
  • npm 包 objnest 使用教程

    简介 在编写 JavaScript 代码的过程中,我们常常需要对一些对象进行深度操作。这时候,objnest 这个 npm 包就显得尤为重要。objnest 可以让我们通过简单的方式来进行对象的深度操...

    5 年前
  • npm 包 evaljson 使用教程

    什么是 evaljson? evaljson 是一个轻量级的 JavaScript 库,它可以将任何的字符串格式的 JSON 数据进行解析,包括在代码中双引号引起来的字符串对象甚至是不规则的格式,然后...

    5 年前
  • npm 包 arraysort 使用教程

    前言 在前端开发中,我们经常需要对数组进行排序。如果我们手写排序算法,会增加代码量和复杂度。而使用现成的排序库,则能提高开发效率。其中,arraySort 是一个非常好用的 npm 包。

    5 年前
  • npm 包 execcli 使用教程

    简介 execcli 是一款 npm 包,用于在 Node.js 环境下调用命令行工具。它可以很容易地在 Node.js 中使用常用的命令行工具,并将命令行结果以回调函数的形式返回。

    5 年前
  • npm 包 fmtjson 使用教程

    前言 在前端开发中,我们常常需要处理 JSON 数据。但是 JSON 格式的数据通常被压缩成了一行,不便于阅读和调试,这就给前端开发带来了一定的麻烦。为了解决这个问题,我们可以使用一个 npm 包,即...

    5 年前
  • npm 包 ape-formatting 使用教程

    在前端开发中,我们经常需要对代码进行格式化,以便于代码阅读、维护和管理。ape-formatting 是一个可用于 JavaScript、CSS 和 HTML 的 npm 包,它可以自动格式化你的代码...

    5 年前
  • npm 包 apeman-react-spinner 使用教程

    前言 在前端开发过程中,有很多需要加载或处理时间较长的操作,这时候我们可以使用一个 loading 动画来提示用户等待,让用户体验更加友好。 本篇文章将介绍一个很好用的 npm 包 apeman-re...

    5 年前
  • npm 包 filelink 使用教程

    在前端开发中,文件的管理和分享是一项重要的任务。npm 包 filelink 是一款强大的工具,可以帮助开发者快速分享文件链接,并支持复制、加密和过期时间等多个功能。

    5 年前
  • NPM包 apeman-react-icon 使用教程

    在前端开发中,使用图标来增强用户体验是非常常见的做法。apeman-react-icon,就是一个可以在 React 项目中使用的图标库。本文将详细介绍如何使用该 NPM 包进行图标开发。

    5 年前
  • npm 包 asenv 使用教程

    如果你正在进行前端开发,并需要一种简便的方式来处理不同环境的变量,那么 asenv 这个 npm 包就可以帮助你了。asenv 是一个轻量级的 npm 包,可以让你轻松管理不同应用环境的变量。

    5 年前
  • npm 包 akv-status 使用教程

    什么是 akv-status? akv-status 是一个可以用于显示应用程序状态的小型 JavaScript 库。它可以帮助您以一种简单且易于理解的方式将应用程序的当前状态传达给用户。

    5 年前
  • npm 包 akv 使用教程

    简介 akv 是一款 Node.js 开发者提供的面向对象的键值存储库,支持多种存储引擎,包括 MongoDB、Redis、MySQL、PostgreSQL 等。它可以轻松存储和获取任何对象、数组、字...

    5 年前
  • npm 包 abrowserify 使用教程

    简介 abrowserify 是一个非常方便的工具,它可以将你的 JavaScript 代码打包成一个浏览器可以直接使用的 JavaScript 文件。它支持 CommonJS 和 AMD 规范,可以...

    5 年前
  • npm 包 ababel-react 使用教程

    在前端开发中,我们经常需要将 ES6 或者 JSX 语法转换为浏览器能够识别的 JavaScript 代码。这时候,我们就需要使用 Babel 来进行转换。而 ababel-react 是 Babel...

    5 年前
  • npm 包 ababel-es2015 使用教程

    在前端开发中,我们经常需要使用新的 ECMAScript 标准,如 ES2015。然而,由于一些现代浏览器并不支持这些新标准,为了兼容性,我们需要使用工具将新的 ECMAScript 代码转换为旧的版...

    5 年前
  • npm 包 asobj 使用教程

    在 JavaScript 的开发中,我们总是需要用到对象。但是面对大量的对象时,他们的属性名称可能并不是我们最想要的。此时我们可以使用 asobj 这个 npm 包来帮助我们完成这些操作。

    5 年前

相关推荐

    暂无文章