[TearDown]
public void Dispose()
{
Console.WriteLine("book對象將被清理!");
book = null;
Console.WriteLine("測試結束!");
}
}
}
沒什么好說的吧?下面看J#代碼:
package NUnitJS;
import System.*;
import NUnit.Framework.*;
/** @attribute TestFixture() */
public class BookTest
{
Book book = null;
/** @attribute SetUp() */
public void Init()
{
Console.WriteLine("測試開始!");
book = new Book();
Console.WriteLine("book對象被初始化!");
}
/** @attribute Test() */
public void testId()
{
book.set_id("001"); //設置id屬性的值為001
//使用Assert查看id屬性的值是否為001
Assert.AreEqual("001", book.get_id());
Console.WriteLine("id屬性被測試!");
}
/** @attribute Test() */
public void testName()
{
book.set_id("ASP"); //設置name屬性的值為ASP
//使用Assert查看name屬性的值是否為JSP,這是個必然出現(xiàn)錯誤的測試
Assert.AreEqual("JSP", book.get_name());
Console.WriteLine("name屬性被測試!");
}
/** @attribute TearDown() */
public void Dispose()
{
Console.WriteLine("book對象將被清理!");
book = null;
Console.WriteLine("測試結束!");
}
}
改好后,點擊菜單“調試”->“啟動調試”或按F5鍵運行程序。等等,main函數(shù)里頭好象一句代碼也沒寫過呢吧?沒錯,一句也沒寫,不過你照做可以了。在看到黑屏一閃之后,編碼工作完成。
五、運行NUnit
編碼完成后,可以使用NUnit測試了。NUnit有兩種界面,一種是命令行的,一種是可視化的,我使用的是后者。點擊“開始”菜單->“所有程序”->“NUnit-Net-2.0 2.2.6”->“NUnit-Gui”,打開NUnit的可視化界面:
點擊菜單“File”->“Open”,打開剛才運行生成的可執(zhí)行文件:
此時可以使用BookTest類對Book類進行測試了。請首先選擇testId,點擊“Run”按鈕,運行結果如下圖:
testId前的灰點變綠,而且進度條顯示為綠條,這表明運行成功。下面再選擇BookTest,點擊“Run”按鈕,運行結果如下圖:
testId前的點依然是綠色,但testName前的點是紅色,而且進度條顯示為紅條,這表明testName中存在錯誤。不過這個錯誤是預計之內的,如果不想看到,可以在vs中將testName()方法中的”JSP”改成”ASP”,然后重新運行。此時無須重新啟動NUnit,NUnit會自動加載重新編寫好的文件。此時再運行BookTest,進度條已不是紅色,而是綠色了。
六、說明
本文是對《NUnit學習筆記》的修正,NUnit和Visual Studio.net都使用了新版本。NUnit 2.2.6對2.2.0進行了很多擴展,這從對NUnit.Framework.Assert和NUnit.Framework.StringAssert的介紹可以看出來。