Viết unit test sử dụng xUnit

Trong việc phát triển phần mềm thì quá trình testing là vô cùng quan trọng. Nó giúp code bạn viết ra được hạn chế lỗi đến mức tối đa trước khi đưa đến tay khách hàng
Quá trình test cũng có nhiều mức độ khác nhau.



Nhìn vào hình minh họa bên trên ta có thể thấy Unit Testing là test ở mức độ thấp nhất.
Hiểu đơn giản Unit testing là test ở tận mỗi hàm cũng như mỗi class bạn viết ra.
Mỗi ngôn ngữ lại đi kèm với nó có các công cụ cũng như testing frameworks đi kèm để hỗ trợ.
Với C# hay .NET Framework cũng không phải ngoại lệ. Các thư viện công cụ có thể kể đến như
MSTest
NUnit
xUnit
Trong đó xUnit là công cụ khá phổ biến dùng cho Unit Testing trên nền tảng .NET Framework
Để có thể biết thêm thông tin bạn có thể vào trang chủ của dự án
https://xunit.net/
Sau đây mình xin hướng dẫn tạo một project test đơn giản sử dụng xUnit trên nền tảng .NET Core
Công cụ cần thiết
.NET Core SDK
Tải và cài đặt từ trang chủ
https://dotnet.microsoft.com/download
CLI Terminal
Bạn có thể sử dụng bất kỳ CLI nào bạn muốn trên máy Windows của bạn (Command Prompt, Powershell, Git Bash, ...)
Mình thì khuyến cáo các bạn nên dùng PowerShell Core. CLI terminal mới của Microsoft hỗ trợ đa nền tảng.
https://github.com/PowerShell/Powershell

Các bước tiền hành
Mở terminal bạn chọn
dotnet new xunit -o XUnitTest
cd XUnitTest

Giả sử muốn test hàm trong class đơn giản dưới đây


Unit test tương ứng cho class bên trên


dotnet test
Xem kết quả và kiểm tra lại



Đây chỉ là ví dụ hết sức cơ bản về việc viết unit test.
Các kiến thức khác mình không để cập ở đây. Chẳng hạn tạo ngẫu nhiên test case, đọc test case từ file, mocking, ....
Các kiến thức này mình sẽ cập nhật ở bài viết khác.

Các bạn tham khảo code mẫu ở đây.
Tiếp tục cập nhật ...