1namespace bank
2{
3 using NUnit.Framework;
4
5 [TestFixture]
6 public class AccountTest
7 {
8 [Test]
9 public void TransferFunds()
10 {
11 Account source = new Account();
12 source.Deposit(200.00F);
13 Account destination = new Account();
14 destination.Deposit(150.00F);
15 source.TransferFunds(destination, 100.00F);
16 Assert.AreEqual(250.00F, destination.Balance);
17 Assert.AreEqual(100.00F, source.Balance);
18 }
19 }
20}
这个类仅有的一个方法—TransferFunds,有一个[Test]属性,显示他是一个测试方法,该方法返回void,没有参数,在这个方法里我们对测试对象作了必须的初始化,Assert类定义了一些方法的集合体,用它来检测设置条件,在我们的例子中,我们用AreEqual方法确保后面两个账户的转帐都有一个正确的剩余资金(这些是一些重载方法,这个例子中用的版本包含下面几个参数,第一个参数是期望值,第二个参试是真实值),
编译运行这个例子,假设你编译你的代码为bank.dll,运行NUnit Gui,选择File->Open menu item,载入刚才编译过的dll文件,点击run,我们可以看到测试条变成红色—我们的测试失败了,在“Errors and Failures”面板显示一面信息:
TransferFunds : expected <250> but was <150>
这个现象是我们所期望的,测试失败的原因是我们没有实现TransferFunds方法,现在我们开始让它工作,修改你的TransferFunds方法如下: