【发布时间】:2020-07-24 19:40:47
【问题描述】:
我正在使用 Express 为 NodeJS 自学 TDD,并且我试图通过首先使用 Jest 编写测试来严格要求。
我真的想不出一种方法来为这个文件“index.js”中的最后 3 行编写测试:
const path = require('path');
const express = require('express');
const app = express();
const port = 3000;
app.get('/test', async (req, res) => {
res.json({message: 'pass!'});
});
app.use(express.static(path.join(__dirname, '../client/public')));
module.exports = app;
if (require.main === module) {
app.listen(port);
}
我不确定为这样的事情编写测试有多重要,但我认为了解如何为上述代码编写测试可能有助于我了解使用节点导入的工作原理。有人有想法吗?
【问题讨论】:
-
为什么不直接使用
app.listen(port)?这个条件会做什么? -
zellwk.com/blog/endpoint-testing 解释说,如果我创建多个测试文件,我会收到“正在使用的端口”错误。我同意当前的代码可能是“过度设计的”,但如果可能的话,我仍然想知道如何测试这样的东西。