npm包supertest-as-promised使用教程

阅读时长 4 分钟读完

简介

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

纠错
反馈