在说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文件。
点击RUN。可以看到绿色的显示。表示测试通过,如果没有通过,将是红色。
在本例中,
TestOne是一个简单的测试方法,测试i 是否等于3,结果是肯定的。所以运行完为绿色,表示测试通过。如果将i的值改成4,那么Nunit运行的结果应该为红色