Những từ khóa trong NUnit dùng để phân loại phương thức kiểm thử

Trong bài trước, mình đã nói qua những từ khóa của NUnit dùng để hỗ trợ việc thiết lập thứ tự thực thi các phương thức kiểm thử. Bài này, sẽ tiếp tục giới thiệu với các bạn một số từ khóa hỗ trợ chúng ta phân loại các phương thức kiểm thử trong toàn bộ dự án kiểm thử (test project)

Từ khóa Category

Đây là từ khóa hỗ trợ chúng ta chia các phương thức kiểm thử thành từng phần nhỏ theo các thành phần của phần mềm cần kiểm thử (AUT) – như Creation hoặc Edit/Delete – hoặc là chia phương thức kiểm thử theo loại kiểm thử – như Functionality hay UI.

Từ khóa Category này có thể được sử dụng ở cả hai mức độ, lớp kiểm thử (Test Fixture) và phương thức kiểm thử (Test).

[TestFixture, Category(“Test Fixture Level”)]
public class TestClass_01
{
          [Test, Category(“UI”)]
          public void TestMethod_UI_01()
          {
                    Console.WriteLine(“Test Method UI 01 under Test Class 01”);
          }
}

Từ khóa Property

Từ khóa này không có nhiều ý nghĩa cho chúng ta khi lựa chọn phương thức kiểm thử để thực thi thông qua ứng dụng NUnit. Thông tin của Property sẽ được hiển thị khi chúng ta mở cửa sổ Property của lớp kiểm thử (Test Fixture) và phương thức kiểm thử (Test).

[TestFixture, Property(“Priority”, “1”)]
public class TestClass_03
{
          [Test, Property(“Severity”, “1”)]
          public void TestMethod_Severity1_01()
          {
                    Console.WriteLine(“Test Method Severity1 01 under Test Class 03”);
          }
}

Từ khóa Suite

Từ khóa Suite này cũng không có tác dụng khi sử dụng thực thi phương thức kiểm thử với ứng dụng NUnit. Tác dụng chính của từ khóa này là khi thực thi các phương thức kiểm thử với command-line. Bằng cách sử dụng từ khóa Suite, chúng ta có thể gom nhóm các phương thức kiểm thử vào chung một nhóm. Từ khóa Suite này không được dùng cho lớp kiểm thử (Test Fixture) hay phương thức kiểm thử (Test); nó được sử dụng trong một lớp bình thường và khai báo một phương thức dạng property trong lớp.

class Test_Suite
{
          [Suite]
          public static IEnumerable Suite
          {
                    get
                    {
                              ArrayList suite = new ArrayList();
                              suite.Add(new TestClass_01());
                              suite.Add(new TestClass_02());
                              return suite;
                    }
          }
}

Từ khóa Explicit/Ignore

Từ khóa Explicit được sử dụng với mục đích đánh dấu một lớp/phương thức kiểm thử không cần thực thi nếu không đặc biệt chọn trong ứng dụng NUnit, xác định lớp/phương thức kiểm thử nên được chạy với một điều kiện cụ thể. Từ khóa Ignore đánh dấu một lớp/phương thức kiểm thử sẽ không được thực thi, thường dùng để xác định lớp/phương thức kiểm thử chưa sẵn sàng để thực thi. Khi hiển thị trên ứng dụng NUnit, lớp/phương thức Explicit sẽ hiển thị màu xám, còn lớp/phương thức Ignore sẽ hiển thị màu vàng.

Explicit_Ignore

Hướng dẫn thực thi chi tiết, các bạn có thể xem trong clip dưới đây. Mã nguồn có thể download tại đây.

[adToAppearHere]

Kiểm thử tự động