注意,其中的[TestFixture]和[Test]两个Attribute为NUnit所规定必须要添加的,这样,测试框架可以知道哪些类或者方法需要进行测试。
我们在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张票。
好了,这两个方法的测试已经做完了,我们来看一下测试的结果,根据要求,我们写了如下代码:
public class Ticket
{
private int amount;
public int Amount
{
get
{
return amount;
}
}
public void Add(int num)
{
}
public void Sell()
{
}
}
注意这段代码只是为了完成类的结构,方法的实现暂时先空着。然后将这段代码编译成一个dll动态连接库文件:UnitTest.dll。
我们运行NUnit的图形测试工具,打开我们编译好的dll文件,点"Run"按纽,可以看到如下画面:
很醒目红色,表示测试并没有成功,不过这个是在我们的预料之中的。
接下来,我们向刚才的Ticket类中完成我们的Add方法实现代码:
public void Add(int num)
{
amount += num;
}
保存,重新编译。
切换到NUnit,再点Run,可以看到:
Add方法已经变成绿色了,再接着将Sell方法也完成:
public void Sell()
{
amount -= 1;
}
再来测试,结果变成: