
Kiểm thử đơn vị & xUnit
Framework xUnit, test case, assertions, Moq, FluentAssertions, code coverage, nguyên tắc TDD
1xUnit là gì trong ngữ cảnh .NET?
xUnit là gì trong ngữ cảnh .NET?
Câu trả lời
xUnit là một framework kiểm thử đơn vị mã nguồn mở cho .NET, lấy cảm hứng từ JUnit và NUnit. Nó sử dụng các attribute như [Fact] cho các test đơn giản và [Theory] cho các test có tham số. xUnit khuyến khích các thực hành tốt như cô lập test (mỗi test tạo một instance lớp test mới) và tránh trạng thái chia sẻ thông qua các phương thức Setup/Teardown truyền thống.
2Sự khác biệt giữa [Fact] và [Theory] trong xUnit là gì?
Sự khác biệt giữa [Fact] và [Theory] trong xUnit là gì?
Câu trả lời
[Fact] đánh dấu một test đơn giản chạy một lần không có tham số, trong khi [Theory] đánh dấu một test có tham số chạy nhiều lần với các giá trị khác nhau được cung cấp qua [InlineData], [MemberData] hoặc [ClassData]. Sử dụng [Theory] tránh trùng lặp mã khi kiểm thử nhiều kịch bản tương tự với dữ liệu khác nhau.
3Cách sử dụng [InlineData] với [Theory] trong xUnit như thế nào?
Cách sử dụng [InlineData] với [Theory] trong xUnit như thế nào?
Câu trả lời
[InlineData] cung cấp dữ liệu trực tiếp trong attribute cho một test [Theory], cho phép cùng một test chạy với các giá trị khác nhau. Mỗi attribute [InlineData] đại diện cho một test case riêng biệt. Cách tiếp cận này lý tưởng để kiểm thử nhiều kịch bản đơn giản mà không cần tạo các lớp dữ liệu riêng, giảm mã boilerplate.
Lợi thế chính của Moq trong kiểm thử đơn vị .NET là gì?
Cách cấu hình một mock với Moq để một phương thức trả về một giá trị cụ thể như thế nào?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn .NET khác
Cơ bản về C#
LINQ & Delegates
Kiến thức cốt lõi ngôn ngữ C#
Kiến thức cơ bản về ASP.NET Core
Vòng đời request trong ASP.NET Core
Configuration & Settings
Vòng đời ứng dụng
Dependency Injection
Entity Framework Core
Minimal APIs
Phát triển Web API
Async trong ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Tuần tự hóa JSON
Entity Framework Core nâng cao
Các tính năng nâng cao của C#
Clean Architecture
Logging, Monitoring & Observability
Kiểm thử tích hợp
Docker & Containerization
Quản lý gói NuGet
Memory Management & GC
Lập trình phản ứng
Async/await & Mẫu thiết kế
.NET Design Patterns
Tối ưu hóa hiệu năng
Bảo mật & Best Practices
SignalR & Thời gian thực
Kiến trúc Microservices
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í