NUnit: Thứ tự thực thi trong một Test Fixture

[TestFixture]
class ATestFixture{

   [TestFixtureSetUp]
   public void FixtureSetup(){
        Console.WriteLine("Bắt đầu một fixture");
   }
   [TestFixtureTearDown]
   public void FixtureTearDown(){
        Console.WriteLine("Kết thúc một fixture");
   }
  [SetUp]
   public void FixtureSetUp(){
        Console.WriteLine("Bắt đầu một  test");
   }
   [TearDown]
   public void FixtureTearDown(){
        Console.WriteLine("Kết thúc một test");
   }

   [Test]
   public void Test1(){
     Console.WriteLine("Chạy Test1");
   }

   [Test]
   public void Test2(){
     Console.WriteLine("Chạy Test2");
   }
}
Hiểu một cách nôm na :

  • Fixture như là một testsuite bao gồm một nhóm test cases
  • Một test case là một hàm có Attribute(thuộc tính) [Test] trên đầu
  • Setup: bắt đầu một cái gì đó
  • Teardown: Kết thúc một cái gì đó
  • Thuộc tính [TestFixture] cho biết rằng ATestFixture  là một test fixture
  • Thuộc tính [TestFixtureSetUp] cho biết rằng hàm đó sẽ được gọi một lần trước khi bắt đầu chạy tất cả các test
  • Thuộc tính [TestFixtureTearDown] cho biết rằng hàm đó sẽ được gọi một lần sau khi chạy tất cả các test
  • Thuộc tính [SetUp] cho biết rằng hàm đó sẽ được trước mỗi test
  • Thuộc tính [TearDown] cho biết rằng hàm đó sẽ được trước mỗi test
Ở ví dụ trên ta sẽ có kết quả như sau:
Bắt đầu một fixture
Bắt đầu một test
Chạy Test1
Kết thúc một test
Bắt đàu một test
Chạy Test2
Kết thúc một test
Kết thúc một fixture

Không có nhận xét nào:

Đăng nhận xét