在说NUnit之前,不得不说 一下TDD.
1.TDD介绍
首先什么是TDD呢?全称应该是Test-Driven Development。Kent Beck在他的<<测试驱动开发 >>(Addison-Wesley Professional,2003)一书中,使用下面2个原则来定义TDD:
·        除非你有一个失败的自动测试,永远不要写一单行代码.
·        阻止重复
2.NUnit的介绍
NUnit是一个单元测试框架,专门针对于.NET来写的.其实在前面有JUnit(Java),CPPUnit(C++),他们都是xUnit的一员.最初,它是从JUnit而来.现在的版本是2.2.接下来我所用的都是基于这个版本.
NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig, 后来开发团队逐渐庞大起来.在开发过程中, Kent Beck 和Erich Gamma2位牛人也提供了许多帮助.看来对于NUnit还真是下了一番力气了.J
 NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NET的特性,比如反射,客户属性等等.
最重要的一点是它适合于所有.NET语言.
如果你还没有下载,可以到http://www.nunit.org/去下载.
下面我们先做一个最简单的例子。
打开.net的开发环境,新建一个c#工程。
Project->Add Reference 中添加nunit.framework.dll。
添加一个类,内容如下:
using System;
using NUnit.Framework;
namespace PoiUnit
{
 /// <summary>
 /// Summary description for Util.
 /// </summary>
 
 [TestFixture]
 public class Util
 {
  public Util()
  {
   //
   // TODO: Add constructor logic here
   //
  }
  [SetUp]
  public void Setup()
  {
   // Do something...
  }
  [Test]
  public void TestOne()
  {
   int i = 3;
   Assert.AreEqual( 3, i );
  }
  [TearDown]
  public void TearDown()
  {
   // Do something...
  }
 }
}
编译。
打开Nunit,Open编译好的exe文件。
1.jpg
点击RUN。可以看到绿色的显示。表示测试通过,如果没有通过,将是红色。
2.jpg
 
在本例中, TestOne是一个简单的测试方法,测试i 是否等于3,结果是肯定的。所以运行完为绿色,表示测试通过。如果将i的值改成4,那么Nunit运行的结果应该为红色