下面再看一下C#代碼:
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace NUnitCS
{
[TestFixture]
public class BookTest
{
Book book = null;
[SetUp]
public void Init()
{
Console.WriteLine("測(cè)試開(kāi)始!");
book = new Book();
Console.WriteLine("book對(duì)象被初始化!");
}
[Test]
public void testId()
{
book.id = "001"; //設(shè)置id屬性的值為
//使用Assert查看id屬性的值是否為
Assert.AreEqual("001", book.id);
Console.WriteLine("id屬性被測(cè)試!");
}
[Test]
public void testName()
{
book.name = "ASP"; //設(shè)置name屬性的值為ASP
//使用Assert查看name屬性的值是否為JSP,這是個(gè)必然出現(xiàn)錯(cuò)誤的測(cè)試
Assert.AreEqual("JSP", book.name);
Console.WriteLine("name屬性被測(cè)試!");
}
[TearDown]
public void Dispose()
{
Console.WriteLine("book對(duì)象將被清理!");
book = null;
Console.WriteLine("測(cè)試結(jié)束!");
}
}
}
沒(méi)什么好說(shuō)的吧?下面看J#代碼:
package NUnitJS;
import System.*;
import NUnit.Framework.*;
/** @attribute TestFixture() */
public class BookTest
{
Book book = null;
/** @attribute SetUp() */
public void Init()
{
Console.WriteLine("測(cè)試開(kāi)始!");
book = new Book();
Console.WriteLine("book對(duì)象被初始化!");
}
/** @attribute Test() */
public void testId()
{
book.set_id("001"); //設(shè)置id屬性的值為001
//使用Assert查看id屬性的值是否為001
Assert.AreEqual("001", book.get_id());
Console.WriteLine("id屬性被測(cè)試!");
}
/** @attribute Test() */
public void testName()
{
book.set_id("ASP"); //設(shè)置name屬性的值為ASP
//使用Assert查看name屬性的值是否為JSP,這是個(gè)必然出現(xiàn)錯(cuò)誤的測(cè)試
Assert.AreEqual("JSP", book.get_name());
Console.WriteLine("name屬性被測(cè)試!");
}
/** @attribute TearDown() */
public void Dispose()
{
Console.WriteLine("book對(duì)象將被清理!");
book = null;
Console.WriteLine("測(cè)試結(jié)束!");
}
}
改好后,點(diǎn)擊菜單“調(diào)試”->“啟動(dòng)調(diào)試”或按F5鍵運(yùn)行程序。等等,main函數(shù)里頭好象一句代碼也沒(méi)寫(xiě)過(guò)呢吧?沒(méi)錯(cuò),一句也沒(méi)寫(xiě),不過(guò)你照做可以了。在看到黑屏一閃之后,編碼工作完成。
五、運(yùn)行NUnit
編碼完成后,可以使用NUnit測(cè)試了。NUnit有兩種界面,一種是命令行的,一種是可視化的,我使用的是后者。點(diǎn)擊“開(kāi)始”菜單->“所有程序”->“NUnit-Net-2.0 2.2.6”->“NUnit-Gui”,打開(kāi)NUnit的可視化界面:
點(diǎn)擊菜單“File”->“Open”,打開(kāi)剛才運(yùn)行生成的可執(zhí)行文件:
此時(shí)可以使用BookTest類(lèi)對(duì)Book類(lèi)進(jìn)行測(cè)試了。請(qǐng)首先選擇testId,點(diǎn)擊“Run”按鈕,運(yùn)行結(jié)果如下圖:
testId前的灰點(diǎn)變綠,而且進(jìn)度條顯示為綠條,這表明運(yùn)行成功。下面再選擇BookTest,點(diǎn)擊“Run”按鈕,運(yùn)行結(jié)果如下圖:
testId前的點(diǎn)依然是綠色,但testName前的點(diǎn)是紅色,而且進(jìn)度條顯示為紅條,這表明testName中存在錯(cuò)誤。不過(guò)這個(gè)錯(cuò)誤是預(yù)計(jì)之內(nèi)的,如果不想看到,可以在vs中將testName()方法中的”JSP”改成”ASP”,然后重新運(yùn)行。此時(shí)無(wú)須重新啟動(dòng)NUnit,NUnit會(huì)自動(dòng)加載重新編寫(xiě)好的文件。此時(shí)再運(yùn)行BookTest,進(jìn)度條已不是紅色,而是綠色了。