简介
supertest-as-promised
是一个使用了supertest
和chai-as-promised
两个npm包的桥接包。它使得我们能够更好地在express.js应用程序中测试Promises。本文将会详细介绍如何使用该包进行前端应用程序测试。
准备工作
在我们开始使用supertest-as-promised
求之前,需要确保我们对以下知识点有基本的了解:
- Express.js框架
- 软件与包的安装与管理(npm)
- 测试(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