前言

  一个典型的软件项目中为重要的两种测试类型,即程序员和用户的测试,称为“单元测试”和“验收测试”。在开发任何种类的企业或大型应用时都不容忽视,如果没有合适的工具作为支持,单元测试工作量非常巨大了。

  测试驱动开发(TestDrivenDevelopment,TDD)技术是在添加新代码之前让你的测试代码出错的一种开发技术。在开始编写代码之前首先要写你的测试代码,然后再编写代码让你的测试通过。

  这个简短的系列一一讲解一下.Net下的单元测试相关知识,希望对初学者有所帮助。此文为开篇,没有什么技术含量,先介绍一下常用的测试工具。下一篇对我们经常使用的测试语法做个概况性的理解,后以一个实例实战一下测试技巧。
推荐测试工具

  在.NET下的单元测试工具非常多了,其中微软也提供了自己的测试的UnitTestFramework,我在这里仅仅推荐一下比较实用的两种测试工具。

  VisualStudioTestEdition

  利用VisualStudioTestEdition,我们可以直接在VisualStudio中创建、管理、编辑和运行测试,还可以获取和存储测试结果。VisualStudio中集成了多种测试类型(包括单元测试、Web测试、负载测试和手动测试)。非常方便,在此推荐一下。
NUnit

  NUnit作为xUnit家族中的.Net成员,是.NET的单元测试框架,xUnit是一套适合于多种语言的单元测试工具。它具有如下特征:

  提供了API,使得我们可以创建一个带有“通过/失败”结果的重复单元。

  包括了运行测试和表示结果所需的工具。

  允许多个测试作为一个组在一个批处理中运行。

  非常灵巧,操作简单,我们花费很少的时间即可学会并且不会给测试的程序添加额外的负担。

  功能可以扩展,如果希望更多的功能,可以很容易的扩展它。

  官方主页:http://www.NUnit.org

  TestDriven.NET

  TestDriven.NET是以插件形式集成在VisualStudioIDE中的单元测试工具,完全兼容所有.NETFramework版本,并且集成了多种单元测试框架诸如NUnit,MbUnit,以及MSTeamSystem等。TestDriven.NET的前身是NUnitAddIn。

  TestDriven.NET允许开发者在VisualStudio中运行或者调试他们的测试。

  TestDriven.NET现在集成以下测试工具:

  NUnit(单元测试)、MbUnit、ZaneBug、MSTest、NCover(分析代码的覆盖率)、NCoverExplorer(查看代码覆盖率的分析结果)、Reflector(类库反编译)、TypeMock、dotTrace、MSBee

  特性:

  你在任何方法、类、源文件、命名空间、工程中直接单击即可运行测试。

  TestDriven.NET是以插件形式集成,完全兼容所有.NETFramework版本。

  支持多种单元测试框架,像NUnit,MbUnit,以及MSTeamSystem。

  在单独的进程中运行,你随时可以停止它。

  可以方便的调试测试或者方法。

  支持所有的.NET语言(C#,VB,C++,J#)。

  支持PseudoCategories

  插件丰富

  在新的版本中提供了对Silverlight2beta1的支持。

  官方主页:http://www.testdriven.net/

  AutoRunner

  AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。

  产品可以对以下类型对象进行GUI功能性测试:

  1 Windows类型对象,一般为用C++/Delphi/VB/VFP/PB/.NetForm等技术开发的桌面程序。

  2 IE网页对象,一般性的网站,比如大的门户类网站。

  3 Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。

  4 Flex对象,网页的内容是用Flex开发的。

  5 Silverlight对象,网页的内容是用Silverlight开发的。

  6 WPF对象,一般为用WPF技术开发的桌面程序。

  7 QT对象,一般为用QT技术开发的桌面程序。

  官方主页:http://www.spasvo.com

  还有一些测试工具了,像MSUnit,MSTest、MSBee、NUnitForms等等工具了,但是现在好像没有很多人使用,我比较推荐AutoRunner工具。