.NET

Kiểm thử tích hợp

WebApplicationFactory, TestServer, kiểm thử database, kiểm thử HTTP client, test fixtures

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

WebApplicationFactory trong ASP.NET Core là gì?

Câu trả lời

WebApplicationFactory là một lớp do gói Microsoft.AspNetCore.Mvc.Testing cung cấp, cho phép tạo một test server trong bộ nhớ để kiểm thử tích hợp. Nó khởi tạo ứng dụng ASP.NET Core với tất cả các dependency mà không cần triển khai thực tế, giúp các bài kiểm thử nhanh và độc lập. Cách tiếp cận này được khuyến nghị vì nó kiểm thử ứng dụng trong môi trường gần với production trong khi tránh được chi phí thiết lập một server thực.

2

Lợi ích chính của việc sử dụng WebApplicationFactory thay vì một HTTP server thực trong kiểm thử tích hợp là gì?

Câu trả lời

WebApplicationFactory tạo một test server trong bộ nhớ, loại bỏ độ trễ mạng và chi phí triển khai đồng thời cung cấp toàn quyền kiểm soát cấu hình. Các bài kiểm thử chạy nhanh hơn nhiều vì không có giao tiếp mạng thực hay tiến trình riêng cần quản lý. Ngoài ra, các service có thể được thay thế thông qua ConfigureTestServices, giúp việc cô lập kiểm thử và mô phỏng các kịch bản khác nhau trở nên dễ dàng mà không cần hạ tầng bên ngoài.

3

Sự khác biệt giữa unit test và integration test trong ASP.NET Core là gì?

Câu trả lời

Unit test cô lập và kiểm thử một đơn vị mã đơn lẻ (phương thức, lớp) bằng cách mock tất cả các dependency, trong khi integration test xác minh rằng nhiều thành phần hoạt động cùng nhau chính xác, bao gồm database, middleware và các service thực. Unit test nhanh hơn và đơn giản hơn nhưng không phát hiện các vấn đề tích hợp, trong khi integration test chậm hơn nhưng xác thực hành vi tổng thể của ứng dụng. Một chiến lược cân bằng kết hợp cả hai cách tiếp cận.

4

Gói NuGet nào cần thiết để sử dụng WebApplicationFactory trong kiểm thử tích hợp?

5

Làm thế nào để tạo một HTTP client để kiểm thử một API với WebApplicationFactory?

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

Nắm vững .NET 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í