VSTS2005里面带了一个非常好的单元测试工具,据说很好,没用过。MS的产品和VS集成在一起,易用性是没得说。对于用惯了NUnit的人来说,这也不是一个非常充分的理由,非要从NUnit转换到VSTS的单元测试工具。本文讲述了如何将NUnit集成到VS2005中,算是给初学者或刚入门用NUnit的新手一个借鉴吧。

 

首先应说明的是,本文讲的“集成”,并不是以插件的形式将NUnit集成进VSNUnitVS插件也有,有一个免费的,有一个收费的,大家可以Google一下,具体名字记不清了。本文讲述的只是用NUnit来做单元测试和调试。你可以像其他工程一样,按F5来启动NUnit测试你的代码,可以在测试代码或功能实现代码中,按F9设置断点。

 

下面分步骤来介绍。

 

1.       安装VS 2005,本文用的是VS2005VS2008也没有问题,如果是VS2003,你需要使用NUnitFor 1.1的版本。

 

2.       安装NUnit。最新版本为2.4.8. MSI包和ZIP包无所谓,本位以来指代NUnit的安装目录。

 

 

3.       先介绍一点先导知识

 

1)。 在【开始】->【运行】中,输入CMD 打开命令窗口

 

2)。进入到NUNIT的安装目录下的bin目录: cd \bin

 

   3)。在命令行中输入: nunit.exe /help

 

          这就会弹出一个窗口,显示nunit.exe的参数信息(我一直觉得很奇怪,为什么NUnit会使用正斜杠‘/’作为参数的分隔符???)

 

4)。在NUNIT的命令行参数中有两个需要注意的地方:

 

A.   nunit的命令行格式为: nunit [inputfile] [options]

 

           在弹出的显示帮助的窗口中,会显示命令为 nunit-gui,不要担心,以前是nunit-gui.exe,现在是nunit.exe,控制台下,不带GUInunit单元测试工具名为:nunit-console.exe.

 

    nunit的命令行参数中,有一个inputfile的参数,他就是你单元测试代码的程序集名称,即,你在CMD中输入:

 

   Nunit.exe  someAssembly.dll

 

就可以用nunit.exe 打开你的单元测试代码程序集了。

 

B.在nunit的命令行参数中,还有一个Options,这个Options中有一个 /config=STR参数,这是用来导入NUnit的项目的。可以用它来测试多个单元测试程序集组成的项目。

 

4.       测试单一的单元测试程序集。

 

代码就不重复写了,使用的示例为\samples\csharp\money, 该项目现在还是7.1的(VS2003),用VS2005打开是需要转换一下。

 

money中的nunit.framework,删掉,添加引用\bin\nunit.framework.dll

 

编译cs-money项目。

 

现在进入了关键设定阶段,以前的铺垫都是为下面的设定做准备的,进行下面的设定后,就可以用F5进行调试了。

 

右键单击项目->【属性】->【调试】:
【启动操作】->【启动外部程序】:选择nunit程序。我的地址是C:\Program Files\NUnit 2.4.8\bin\nunit.exe。将该地址换成你的地址。
 【启动选项】->【工作目录】:选择你的单元测试程序集所在的目录。我的目录是:C:\Program Files\NUnit 2.4.8\samples\csharp\money\bin\Debug
 
【启动选项】->【命令行参数】:输入你单元测试程序集的名字。我的程序集的名字是: cs-money.dll

 

 

 
保存该设置。

 

将单元测试程序设为启动工程。

 

OK,一切就绪。按F5试试,工程起来了吧!

 

你可以再设个断点试试。

 

5.       测试多个单元测试程序集

 

接步骤4.

 

先启动nunit.exe

 

nunit中新建一个工程,保存在C:\Program Files\NUnit 2.4.8\samples\csharp\money\bin\Debug目录中。我新建的工程名为: cs-money.nunit.

 

   nunit 的菜单【project->add assembly,添加你的单元测试程序集。本例中为cs-money.dll。当然可以添加多个单元测试程序集。

 

  保存退出nunit.

 

  VS2005
右键单击项目->【属性】->【调试】:
将【启动选项】->【命令行参数】改为: /config=cs-money.nunit

 

 
 保存该设置。

 

F5启动此单元测试。
 
 
 
 
~~The END~~
 
尹曙光