
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
1Kiểm thử E2E (end-to-end) trong bối cảnh NestJS là gì?
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.
2Thư viện nào được NestJS khuyến nghị cho kiểm thử E2E?
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.
3Làm thế nào để lấy instance của HTTP server cho Supertest trong một kiểm thử NestJS?
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.
Trong một dự án NestJS, kiểm thử E2E thường được đặt trong file nào?
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
Các chủ đề phỏng vấn Node.js / NestJS khác
Kiến thức cơ bản về Node.js
API lõi Node.js
Lập trình bất đồng bộ
Cơ bản về Express.js
Nền tảng NestJS
Thiết kế REST API
Validation và DTO
Tài liệu API & Hợp đồng
Xử lý lỗi
Kiểm thử đơn vị
Lập lịch tác vụ
Module và DI trong NestJS
Cấu hình & Quản lý môi trường
Xác thực JWT
Phân quyền và RBAC
Cơ sở dữ liệu với TypeORM
Prisma ORM
Middleware và Interceptor
Tải lên tệp
WebSockets
GraphQL với NestJS
Caching với Redis
Hàng đợi với Bull
DevOps, Logging & CI/CD
Docker & Đóng gói container
Microservices
Các phương pháp bảo mật tốt nhất
Hiệu năng và triển khai Cloud
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í