NUnit là một công cụ phổ biến để thực hiện các unit test. Trước khi bắt đầu, chúng ta cần phải biết unit test là gì và tại sao NUnit lại là một công cụ phổ biến cho unit test.

Unit Test

Mỗi phần mềm đều được hợp lại từ nhiều module khác nhau. Mỗi module lại bao gồm nhiều class. Trong mỗi class lại chứa các function khác nhau. Như vậy, function là đơn vị nhỏ nhất trong mã nguồn của chương trình.

Khi chúng ta kiểm tra hành vi của các function riêng biệt và không liên quan tới những function khác và xác định xem nó có hoạt động chính xác theo yêu cầu hay không thì đó được gọi là unit test.

Một vài lợi ích của unit test:

  1. Phát hiện các thiếu sót sớm trong vòng đời phát triển phần mềm.
  2. Mã nguồn đáng tin cậy hơn.
  3. Mã nguồn dễ dàng bảo trì.
  4. Test nhanh hơn với chỉ một click.

NUnit

NUnit là một unit test framework cho nền tảng .NET và là framework được sử dụng nhiều nhất cho unit test.

Chúng ta có thể viết test code bằng C# hay VB.NET đều được. Một lời khuyên là nên viết test code ở các assembly khác (các test assembly). Những assembly này chỉ chứa test code mà không nên chứa loại khác. Chúng ta cần chạy những test assembly này để kiểm tra xem các trường hợp test pass hay fail. Để làm được điều đó, chúng ta cần đến Test Runner.

Test Runner là công vụ giúp chạy những trường hợp test và hiển thị kết quả của mỗi trường hợp, từ đó chúng ta có thể biết là test đó pass hay fail. Chúng ta sẽ xem xét về các Test Runner trong phần Cài đặt môi trường ở bài viết tiếp theo.

NUnit rất dễ dùng. Nó chỉ có một vài attribute và static class Assert. Bằng cách sử dụng các attribute và class này với nhau, chúng ta có thể chạy các trường hợp test một cách dễ dàng. Các attribute giúp các Test Runner biết những class hay function nào có chứa test code. Static class Assert được dùng để khẳng định system under test (SUT) có chạy đúng hay không, tương ứng với test pass hay fail.

Một vài attribute:

  • TestFixture
  • Setup
  • TearDown
  • Test
  • Category
  • Ignore
  • TestCase
  • Repeat
  • MaxTime

Trong bài viết tiếp theo, chúng ta sẽ học cách cài đặt môi trường để viết các unit test với NUnit.

Danh sách tất cả bài viết trong series có thể xem tại đây.