9 创建第一个Express应用之3.3 测试应用

在前一章中,我们成功启动了我们的第一个 Express 服务器,现在我们将对其进行基本的测试,以确保它能够按照我们的预期工作。在本节中,我们会介绍如何通过不同的方法来测试我们的 Express 应用,包括手动测试和自动化测试。

手动测试

手动测试是验证我们的应用是否正常工作的一种直接方法。在本例中,我们将使用浏览器或命令行工具(如 curl)来访问我们之前创建的 GET 接口。

使用浏览器手动测试

假设您的应用运行在 http://localhost:3000,您可以在浏览器中输入以下 URL:

1
http://localhost:3000

如果一切正常,您应该会看到一个简单的欢迎信息,如:

1
Hello, World!

此时,您已经手动测试了您的 Express 应用。

使用 curl 命令手动测试

除了浏览器,您还可以使用 curl 在终端中测试您的应用。打开终端并输入:

1
curl http://localhost:3000

如果应用设置正确,您应该看到与浏览器中相同的 Hello, World! 输出。

自动化测试

对于更复杂的应用,手动测试可能不够高效,因此我们需要依靠自动化测试。这里我们将使用一个热门的测试框架 Mocha 和一个断言库 Chai 来进行自动化测试。

设置测试环境

首先,我们需要安装 MochaChai。在项目根目录下运行以下命令:

1
npm install mocha chai --save-dev

接下来,我们需要创建一个测试目录和文件。通常我们在项目根目录下创建一个 test 文件夹,并在其中创建一个测试文件,例如 app.test.js

您的项目结构应如下所示:

1
2
3
4
5
6
your-project/
├── node_modules/
├── package.json
├── app.js
└── test/
└── app.test.js

编写测试代码

test/app.test.js 文件中,我们可以编写如下测试代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const chai = require('chai');
const chaiHttp = require('chai-http');
const app = require('../app'); // 引入我们的 Express 应用
const expect = chai.expect;

chai.use(chaiHttp);

describe('GET /', function() {
it('应该返回 Hello, World!', function(done) {
chai.request(app)
.get('/')
.end(function(err, res) {
expect(res).to.have.status(200);
expect(res.text).to.equal('Hello, World!');
done();
});
});
});

在这个测试中,我们使用 chai-http 插件来发送一个 GET 请求到根路径 /,并验证返回的 HTTP 状态码是否为 200,以及返回的文本是否为 Hello, World!

运行测试

package.json 文件中,您需要添加一个测试脚本。例如:

1
2
3
"scripts": {
"test": "mocha"
}

现在,您可以运行 npm test 来执行您的测试:

1
npm test

若一切正常,您应该看到类似如下的输出:

1
2
3
4
GET /
✓ 应该返回 Hello, World!

1 passing (10ms)

通过运行测试,您可以确认您的应用逻辑是正确的。

小结

在这一节中,我们通过手动测试和自动化测试两种方式对我们的 Express 应用进行了基本的测试。手动测试可以快速验证接口是否正常,而自动化测试则可以随着应用的迭代而高效地保证程序的稳定性。在接下来的章节中,我们将进入更复杂的内容,探索如何定义路由来处理不同的请求。

接下来,我们将在第四章中学习如何为应用定义路由,敬请期待!

9 创建第一个Express应用之3.3 测试应用

https://zglg.work/expressjs-zero/9/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

复习上节

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论