從單元測試NUnit中理解.NET自定義屬性的應用[3] 單元測試工具
NUnit在運行時利用反射機制運行已經被編譯成程序集的測試案例(TestCase)中的函數。NUnit框架中有一系列的函數來完成這項工作,這些函數只負責運行測試案例程序集中特定屬性標記所標記的函數。如:InvokeSetUp()就負責運行標記有[SetUp]的函數;InvokeTestCase()負責運行標記有[Test]的函數,即測試案例;InvokeTearDown()負責運行標記有[TearDown]的函數。然后NUnit利用這幾個InvokeXXX()函數的調用先后來保證這3種函數運行的先后順序。
//From TemplateTestCase in NUnit.Core namespace
//用于執行測試的Run函數
public override void Run(TestCaseResult testResult )
{
//…
try{
//…
InvokeSetUp();//首先運行標有[SetUp]標記的函數
//…
InvokeTestCase();//然后是[Test]
//…
}
catch(…)
//…
finally {
//…
InvokeTearDown();//最后是[TearDown]標記的函數
//…
}
//…
}
文章來源于領測軟件測試網 http://www.kjueaiud.com/