您好,登錄后才能下訂單哦!
要使用Jest測試Node.js的HTTP服務器,你需要遵循以下步驟:
npm install --save-dev jest supertest
server.js
的文件,其中包含一個簡單的HTTP服務器:// server.js
const http = require('http');
const port = 3000;
const server = http.createServer((req, res) => {
if (req.url === '/') {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!');
} else if (req.url === '/error') {
res.writeHead(500, { 'Content-Type': 'text/plain' });
res.end('Internal Server Error');
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
}
});
module.exports = server;
server.test.js
的文件,用于編寫測試用例:// server.test.js
const request = require('supertest');
const server = require('./server');
describe('HTTP Server', () => {
beforeAll(() => {
server.listen(3000);
});
afterAll(() => {
server.close();
});
test('GET / should return 200 and "Hello World!"', async () => {
const response = await request(server).get('/');
expect(response.status).toBe(200);
expect(response.text).toBe('Hello World!');
});
test('GET /error should return 500 and "Internal Server Error"', async () => {
const response = await request(server).get('/error');
expect(response.status).toBe(500);
expect(response.text).toBe('Internal Server Error');
});
test('GET /non-existent should return 404 and "Not Found"', async () => {
const response = await request(server).get('/non-existent');
expect(response.status).toBe(404);
expect(response.text).toBe('Not Found');
});
});
package.json
文件中添加一個test
腳本,以便可以運行測試:{
"scripts": {
"test": "jest"
}
}
npm test
命令來執行測試用例。這樣,你就可以使用Jest和Supertest庫來測試Node.js的HTTP服務器了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。