# Kiểm thử End-to-End (Node.js / NestJS) > 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 - [Câu hỏi phỏng vấn: Node.js / NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van.md) ## 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. ## Còn 17 câu hỏi nữa - 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? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Node.js / NestJS khác - [Kiến thức cơ bản về Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-fundamentals.md): 20 câu hỏi, Junior - [API lõi Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-core-apis.md): 25 câu hỏi, Junior - [Lập trình bất đồng bộ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/asynchronous-programming.md): 25 câu hỏi, Junior - [Cơ bản về Express.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/express-basics.md): 20 câu hỏi, Junior - [Nền tảng NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-fundamentals.md): 23 câu hỏi, Junior - [Thiết kế REST API](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Junior - [Validation và DTO](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/validation-dto.md): 20 câu hỏi, Junior - [Tài liệu API & Hợp đồng](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/api-documentation.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Kiểm thử đơn vị](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-unit.md): 20 câu hỏi, Junior - [Lập lịch tác vụ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/scheduling-cron.md): 15 câu hỏi, Junior - [Module và DI trong NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-modules-di.md): 20 câu hỏi, Mid-Level - [Cấu hình & Quản lý môi trường](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/configuration-environment.md): 20 câu hỏi, Mid-Level - [Xác thực JWT](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authentication-jwt.md): 25 câu hỏi, Mid-Level - [Phân quyền và RBAC](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authorization-rbac.md): 20 câu hỏi, Mid-Level - [Cơ sở dữ liệu với TypeORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/database-typeorm.md): 30 câu hỏi, Mid-Level - [Prisma ORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/prisma-orm.md): 25 câu hỏi, Mid-Level - [Middleware và Interceptor](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/middleware-interceptors.md): 20 câu hỏi, Mid-Level - [Tải lên tệp](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/file-upload.md): 15 câu hỏi, Mid-Level - [WebSockets](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/websockets.md): 20 câu hỏi, Mid-Level - [GraphQL với NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/graphql-basics.md): 25 câu hỏi, Mid-Level - [Caching với Redis](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/caching-redis.md): 20 câu hỏi, Mid-Level - [Hàng đợi với Bull](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/queues-bull.md): 20 câu hỏi, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/logging-monitoring.md): 25 câu hỏi, Mid-Level - [Docker & Đóng gói container](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/docker-containerization.md): 25 câu hỏi, Mid-Level - [Microservices](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/microservices.md): 30 câu hỏi, Senior - [Các phương pháp bảo mật tốt nhất](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/security-best-practices.md): 25 câu hỏi, Senior - [Hiệu năng và triển khai Cloud](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-e2e