您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > Nunit
NUnit 快速入门
作者:网络转载 发布时间:[ 2014/1/15 9:16:10 ] 推荐标签:NUnit 测试 开源

我们注意到的第一件事情是此类包含一个[TestFixture]属性与之关联-这是一种描述类包含测试代码的方法(此属性可以被继承)。此类必须为public,并且对于其超类没有任何限制。此类也必须有个一缺省的构造子。

此类包含一个的方法-TransferFunds,而且有一个[Test]属性与之关联-它标志了该方法是一个测试方法。测试方法必须返回void,并且不能带有参数。在我们的测试方法中,我们对一个需要测试的对象进行了普通的初始化,执行以测试的业务方法,并且检查了业务对象的状态。Assert类定义了一组方法,这些方法用来检查前置条件,在我们的例子里,我们使用AreEqual方法保证在转帐之后,2个帐户都有正确的余额(本方法有许多重载方法,在本示例中的版本有如下参数:第一个参数是一个期望值,第二个参数是实际值)。

编译并运行此实例。假设你已经将你的测试代码编译为一个bank.dll。启动NUnit GUI(安装文件会在桌面和“Program Files"上创建一个快捷方式)。在GUI启动之后,选择File->Open菜单,并指向bank.dll所在的路径,在”Open“对话框打开选择该文件。当bank.dll文件加载之后,你 会在左边的面板上看到一个测试树形结构 ,在右边会有一组状态。点击Run按钮,状态条以及测试树的TransferFunds节点会变红-我们的测试失败了。”Error and Failures"面板显示如下信息:

TransferFunds : expected <250> but was <150>

而且,栈跟踪面板会报告测试代码中的失败之处:

at bank.AccountTest.TransferFunds() in C: unitBankSampleTestsAccountTest.cs:line 17

这正是我们期望的:测试失败是因为我们并没有实现TransferFunds方法。现在我们让它工作吧。不要关闭此GUI,返回你的IDE并修复此代码,让你的TransferFunds方法如下:

public void TransferFunds(Account destination, float amount)
{
 destination.Deposit(amount);
 Withdraw(amount);
}

现在,重新编译代码,再一次点击GUI上的按钮-状态条以及测试树变绿了。(注意GUI是如何为您重新加载程序集的;我们会一直打开GUI,并在IDE中继续编写代码,写出更多的测试)。

让我们在Account代码里加入一些错误的检查。我们为帐户加入小的余额,保证银行可以继续让他们的钱可以支付小额度的透支。在Account类里增加一个小余额的属性:

private float minimumBalance = 10.00F;
public float MinimumBalance
{
 get{ return minimumBalance;}
}

我们使用一个异常来描绘一个透支:

namespace bank
{
  using System;
  public class InsufficientFundsException : ApplicationException
  {
  }
}

在AccountTest类里加入一个新的方法:

[Test]
[ExpectedException(typeof(InsufficientFundsException))]
public void TransferWithInsufficientFunds()
{
 Account source = new Account();
 source.Deposit(200.00F);
 Account destination = new Account();
 destination.Deposit(150.00F);
 source.TransferFunds(destination, 300.00F);
}

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd