NUnit là test framework phổ biến trong cộng đồng .NET. Dù Microsoft đã tích hợp MSTest vào Visual Studio, nhiều người vẫn thích dùng NUnit. Bài này sẽ tóm tắt những tính năng thường dùng trong NUnit để tiện tra cứu.
Các chức năng trong bài này áp dụng cho NUnit 2.6. Một số chức năng đã bị thay đổi trong NUnit 3.
Lệnh Assert
NUnit cung cấp hai cách để viết lệnh Assert.
Cách “cổ điển”:
Cách “trôi chảy” (fluent syntax):
Cách “trôi chảy” nghe tự nhiên hơn vì nó mô phỏng một câu tiếng Anh.
So sánh kiểu string
So sánh kiểu số
So sánh kiểu DateTime
Ta truyền vào Within() một đối tượng kiểu TimeSpan. Kiểu này đóng vai trò là sai số (tolerance).
So sánh một khoảng giá trị (range)
So sánh giá trị Null và Boolean
So sánh collection
So sánh tham chiếu
Kiểm tra kiểu đối tượng và thuộc tính
Kiểm tra ngoại lệ (exception)
Attribute thường dùng
Chạy code trước và sau mỗi test
Ta có thể truy xuất thông tin của test thông qua đối tượng TestContext.CurrentContext.Test. Giả sử tôi muốn lấy tên của test method, tôi dùng dòng lệnh sau:
Chạy code trước và sau một test fixture
Chạy code trước và sau assembly hoặc namespace
Nếu không có dòng khai báo namespace thì [SetUpFixture] sẽ áp dụng cho tất cả test trong assembly.
Chạy test với nhiều dữ liệu test case
Có thể dùng nhiều test case:
Tái sử dụng dữ liệu test case
Tạo một class để cung cấp dữ liệu cho test method.
Tạo tổ hợp dữ liệu đầu vào
Bỏ qua test
Phân nhóm test bằng Category
Trong Test Explorer, ta chọn mục Traits để hiển thị Category.
Chỉ định thời gian chạy test tối đa
Test sẽ fail nếu thời gian chạy vượt quy định (4 giây).
Chạy một test nhiều lần
Trong 10.000 lần chạy, chỉ 1 lần fail là test sẽ fail.