注意,其中的[TestFixture]和[Test]兩個Attribute為NUnit所規(guī)定必須要添加的,這樣,測試框架可以知道哪些類或者方法需要進行測試。
我們在Add方法中定義了一個ticket對象,并給他加了100張票,然后可以使用:
Assertion.AssertEquals(100, ticket.Amount);
來測試ticket的Amount屬性是否確實為100。
接下來,我們再向TicketTest中添加一個測試Sell的方法:
[Test]
public void Sell()
{
Ticket ticket = new Ticket();
ticket.Add(100);
ticket.Sell();
ticket.Sell();
ticket.Sell();
Assertion.AssertEquals(97, ticket.Amount);
}
這里,我們先加了100張票之后一口氣賣掉了3張,然后看看我們是否還剩下97張票。
好了,這兩個方法的測試已經(jīng)做完了,我們來看一下測試的結(jié)果,根據(jù)要求,我們寫了如下代碼:
public class Ticket
{
private int amount;
public int Amount
{
get
{
return amount;
}
}
public void Add(int num)
{
}
public void Sell()
{
}
}
注意這段代碼只是為了完成類的結(jié)構(gòu),方法的實現(xiàn)暫時先空著。然后將這段代碼編譯成一個dll動態(tài)連接庫文件:UnitTest.dll。
我們運行NUnit的圖形測試工具,打開我們編譯好的dll文件,點"Run"按紐,可以看到如下畫面:
很醒目紅色,表示測試并沒有成功,不過這個是在我們的預(yù)料之中的。
接下來,我們向剛才的Ticket類中完成我們的Add方法實現(xiàn)代碼:
public void Add(int num)
{
amount += num;
}
保存,重新編譯。
切換到NUnit,再點Run,可以看到:
Add方法已經(jīng)變成綠色了,再接著將Sell方法也完成:
public void Sell()
{
amount -= 1;
}
再來測試,結(jié)果變成: