Testing và Debugging

Dưới đây là hướng dẫn Testing và Debugging trong Node.js theo góc nhìn của Senior Backend Developer, bao gồm unit test, debug, và logging hiệu quả trong môi trường thực tế:


✅ 1. Làm thế nào để thực hiện Unit Test trong Node.js?

Unit test giúp kiểm tra logic độc lập của từng hàm hoặc module.

🔹 Các thư viện phổ biến:

Thư viện

Mục đích

Mocha

Test runner

Chai

Assertion library (expect, should)

Jest

All-in-one testing (runner, assertion, mock, coverage)


🔸 Ví dụ dùng Mocha + Chai

1. Cài đặt:

npm install --save-dev mocha chai

2. Tạo hàm cần test (ví dụ: math.js)

function add(a, b) {
  return a + b;
}
module.exports = { add };

3. Tạo test file (ví dụ: test/math.test.js)

4. Chạy test:


🔸 Ví dụ dùng Jest

1. Cài đặt:

2. Định nghĩa test script trong package.json:

3. Viết test file (math.test.js)

4. Chạy test:


✅ 2. Giới thiệu về cách debug ứng dụng Node.js

🔹 Cách debug:

1. Sử dụng console.log()

  • Cách cơ bản để xem dữ liệu nhưng không chuyên nghiệp.

2. Dùng Node Inspector / Chrome DevTools

  • Truy cập Chrome tại: chrome://inspect → connect → đặt breakpoint như debug JS thông thường.

3. Dùng VSCode Debug

  • Tạo file .vscode/launch.json:

  • Bấm F5 để debug.


✅ 3. Ghi log ứng dụng trong Node.js bằng Winston & Morgan

🔹 Winston – Ghi log nâng cao, hỗ trợ lưu file, console, custom format...

Cài đặt:

Sử dụng:


🔹 Morgan – Logging middleware dành cho Express

Cài đặt:

Tích hợp vào Express:


✅ Tổng kết:

Mục
Công cụ đề xuất

Unit Test

Jest (all-in-one), Mocha + Chai

Debug

VSCode Debug, Chrome Inspector, Node CLI

Logging

Winston (log custom), Morgan (HTTP logs)


Last updated