在构建 Node.js 后端 API 时,集成测试是至关重要的。它可以保证您的 API 在正式环境中能够正确运行和交互。而在 Hapi.js 中,集成测试则是非常容易实现的。本文将介绍如何使用 Hapi.js 构建 Node.js 后端 API 并进行集成测试。
安装 Hapi.js
首先,我们需要安装 Hapi.js。通过 NPM,我们可以很容易地完成安装:
npm install hapi
接下来,我们需要创建一个新的 Node.js 项目。在项目的根目录下,创建一个名为 app.js
的文件。这将是我们构建后端 API 的入口文件。
创建路由
接下来,我们需要创建 API 路由。在 Hapi.js 中,路由可以非常灵活地进行配置。例如,我们可以通过以下代码创建一个简单的路由:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - ------------- ----- ------------ ----- ---- --- -------------- ------- ------ ----- --------- -------- --------- -- -- - ------ ------ -------- - --- ----- -------- ------- - ----- --------------- ------------------- ------- --- --------------------- - --------展开代码
在上面的代码中,我们首先创建了一个 Hapi.js 服务器实例,并指定了其主机名和端口号。然后,我们通过 server.route()
方法创建了一个名为 /hello
的简单路由,并指定其请求方法为 GET
。最后,我们设置了该路由的处理函数并启动了服务器。
现在,您可以通过访问 http://localhost:3000/hello 来测试上述路由是否可以正常工作。如果一切顺利,您将收到一个包含 "Hello World!" 字符串的响应。
集成测试
现在,我们已经成功创建了一个简单的后端 API。接下来,让我们通过 Hapi.js 自带的实用工具 shot
来编写一些集成测试。
首先,我们需要安装 shot
工具:
npm install --save-dev shot
接下来,在 app.js
文件中,我们需要将路由暴露出来以便测试。修改 app.js
文件如下:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - ------------- ----- ------------ ----- ---- --- -------------- ------- ------ ----- --------- -------- --------- -- -- - ------ ------ -------- - --- ----- -------- ------- - ----- --------------- ------------------- ------- --- --------------------- - -- -- ------ --------- -------------- - - ------ ------ ------- ------ --展开代码
在上面的代码中,我们向 app.js
文件添加了一行代码,将 server
实例导出以便测试调用。现在,我们可以在测试文件中加载 app.js
并开始测试。
在项目根目录下,创建一个名为 test.js
的文件,并输入以下代码:
-- -------------------- ---- ------- ----- --- - --------------- ----- --- - ----------- - ------------- ----- - ------ - - ---------------- ----- --- - ----------------- ------------- ------ ------- ------ --------- ----- -- -- - ----- ------- - - ------- ------ ---- -------- -- ----- -------- - ----- --------------------------- ---------------------------------------- --------- ---展开代码
在上述测试中,我们首先导入 Lab
和 chai
库,它们分别用于编写测试用例和断言。接着,我们导入 app.js
文件,以便从测试文件中调用其 server
实例。然后,我们定义了一个名为 GET /hello returns "Hello World!"
的测试用例。在测试用例中,我们使用 server.inject()
方法发送一个名为 /hello
的 GET 请求,并验证其响应是否为 "Hello World!"。
现在,我们可以通过运行以下命令来运行我们的测试:
npm test
如果一切顺利,您将看到一个输出表示测试用例已通过。至此,我们已经成功地创建了一个基本的后端 API,并编写了一些简单的集成测试。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67bd0aada231b2b7edf08222