Node.js / NestJS

Kiểm thử End-to-End

Supertest, cơ sở dữ liệu kiểm thử, fixtures, xác thực trong kiểm thử, kiểm thử API

20 câu hỏi phỏng vấn·
Mid-Level
1

Kiểm thử E2E (end-to-end) trong bối cảnh NestJS là gì?

Câu trả lời

Kiểm thử E2E xác thực toàn bộ luồng của ứng dụng, từ yêu cầu HTTP đến phản hồi, đi qua tất cả các layer (controller, service, database). Khác với kiểm thử đơn vị vốn cô lập một thành phần, kiểm thử E2E xác minh rằng việc tích hợp của tất cả các thành phần hoạt động đúng. Điều này giúp phát hiện các lỗi tích hợp mà kiểm thử đơn vị không thể nắm bắt.

2

Thư viện nào được NestJS khuyến nghị cho kiểm thử E2E?

Câu trả lời

Supertest là thư viện được khuyến nghị cho kiểm thử E2E trong NestJS vì nó cho phép kiểm thử các endpoint HTTP mà không cần khởi động server trên một cổng mạng. Nó tạo một instance ứng dụng cô lập và gửi các yêu cầu HTTP mô phỏng trực tiếp. Điều này giúp kiểm thử nhanh hơn, đáng tin cậy hơn và tránh xung đột cổng giữa các kiểm thử song song.

3

Làm thế nào để lấy instance của HTTP server cho Supertest trong một kiểm thử NestJS?

Câu trả lời

Phương thức app.getHttpServer() trả về instance của HTTP server nền tảng (Express hoặc Fastify) có thể truyền cho Supertest để thực hiện các yêu cầu kiểm thử. Phương thức này khả dụng sau khi tạo module kiểm thử bằng Test.createTestingModule(). Nó cho phép Supertest truy cập trực tiếp vào server mà không cần khởi động trên một cổng mạng.

4

Trong một dự án NestJS, kiểm thử E2E thường được đặt trong file nào?

5

Phương thức Supertest nào cho phép kiểm tra status code của một phản hồi HTTP?

+17 câu hỏi phỏng vấn

Nắm vững Node.js / NestJS cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí