您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > Nunit
NUnit详细使用方法
作者:网络转载 发布时间:[ 2012/12/7 11:44:36 ] 推荐标签:

  第2步.增加一个NUnit框架引用

  在Microsoft Visual Studio .NET里创建这个例子时,你需要增加一个NUnit.framework.dll引用,如下:

  在Solution Explorer右击引用,然后选择增加引用

  NUnit.framework组件,在Add Reference对话框中按Select和OK按钮。

  图4-2 描述了这步:

   图 4-2: 增加一个 NUnit.framework.dll 引用到工程

  第3步.为工程加一个类.

  为工程加一个NumbersFixture类。这里是这个例子的代码。

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  [Test]

  public void AddTwoNumbers()

  {

  int a=1;

  int b=2;

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  }

  }

  第4步.建立你的Visual Studio 工程,使用NUnit-Gui测试

  从程序->NUnit2.2打开NUnit-gui,加载本本工程编译的程序集.

  为了在Visual Studio .NET中自动运行NUnit-Gui,你需要建立NUnit-Gui作为你的启动程序:

  在 Solution Explorer里右击你的NunitQuickStart工程。

  在弹出菜单中选择属性。

  在显示的对话框的左面,点击Configuration Properties夹

  选择出现在Configuration Properties夹下的Debugging。

  在属性框右边的Start Action部分,选择下拉框的Program作为Debug Mode值。

  按Apply按钮

  设置NUnit-gui.exe 作为Start Application。,你既可以键入nunit-gui.exe的全路径,也可使用浏览按钮来指向它。

  图4-3 帮助描述本步骤:

  图 4-3:将NUnit-Gui 作为工程的测试运行器

  第5步.编译运行测试.

  现在编译solution。成功编译后,开始应用程序。NUnit-Gui测试运行器出现。当你第一次开始NUnit-Gui,它打开时没有测试加载。从File菜单选择Oprn,浏览NUnitQuickStart.dll的路径。当你加载了测试的程序集,测试运行器为加载的程序集的测试产生一个可见的表现。在例子中,测试程序集仅有一个测试,测试程序集的结构如图4-4所示:

  图 4-4: 测试程序集的测试在 NUnit-Gui中的视图

  按Run按钮。树的节点变为绿色,而且测试运行器窗口上的进度条变绿,绿色代表成功通过。

   4.其他的一些核心概念

  上面的例子介绍了基本的NUnit特性和功能. TestFixture, Test, 和 Assert是3个基本的特征,我们可以用这些特性进行程序员测试了.但是有的时候,你觉得这3个远远不够,比如有的时候打开一个数据库连接多次,有没有只让它打开一次的方法呢?如果我想把测试分类,应该怎样实现呢?如果我想忽略某些测试,又应该如何去完成呢?不用担心,NUnit已经有这样的功能了.

  下面我们一一作出回答.

  SetUp/TearDown 属性

  在早期给的test fixture定义里,我们说test fixture的测试是一组常规运行时资源.在测试完成之后,或是在测试执行种,或是释放或清除之前,这些常规运行时资源在一确定的方式上可能需要获取和初始化.NUnit使用2个额外的属性:SetUp 和TearDown,支持这种常规的初始化/清除.我们上面的例子来描述这个功能.让我们增加乘法.

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  [Test]

  public void AddTwoNumbers()

  {

  int a=1;

  int b=2;

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  [Test]

  public void MultiplyTwoNumbers()

  {

  int a = 1;

  int b = 2;

  int product = a * b;

  Assert.AreEqual(2, product);

  }

  }

  }

  我们仔细一看,不对,有重复的代码,如何去除重复的代码呢?我们可以提取这些代码到一个独立的方法,然后标志这个方法为SetUp 属性,这样2个测试方法可以共享对操作数的初始化了,这里是改动后的代码:

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  private int a;

  private int b;

  [SetUp]

  public void InitializeOperands()

  {

  a = 1;

  b = 2;

  }

  [Test]

  public void AddTwoNumbers()

  {

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  [Test]

  public void MultiplyTwoNumbers()

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