前言
一个典型的软件项目中最为重要的两种测试类型,即程序员和用户的测试,称为“单元测试”和“验收测试”。在开发任何种类的企业或大型应用时都不容忽视,如果没有合适的工具作为支持,单元测试工作量非常巨大了。
测试驱动开发(Test Driven Development,TDD)技术是在添加新代码之前让你的测试代码出错的一种开发技术。在开始编写代码之前首先要写你的测试代码,然后再编写代码让你的测试通过。
这个简短的系列一一讲解一下.Net下的单元测试相关知识,希望对初学者有所帮助。此文为开篇,没有什么技术含量,先介绍一下常用的测试工具。下一篇对我们经常使用的测试语法做个概况性的理解,最后以一个实例实战一下测试技巧。
推荐测试工具
在.NET下的单元测试工具非常多了,其中微软也提供了自己的测试的Unit Test Framework,我在这里仅仅推荐一下比较实用的两种测试工具。
Visual Studio Test Edition
利用Visual Studio Test Edition,我们可以直接在Visual Studio中创建、管理、编辑和运行测试,还可以获取和存储测试结果。Visual Studio 中集成了多种测试类型(包括单元测试、Web 测试、负载测试和手动测试)。非常方便,在此推荐一下。
NUnit
NUnit作为xUnit家族中的.Net成员,是.NET的单元测试框架,xUnit是一套适合于多种语言的单元测试工具。它具有如下特征:
- 提供了API,使得我们可以创建一个带有“通过/失败”结果的重复单元。
- 包括了运行测试和表示结果所需的工具。
- 允许多个测试作为一个组在一个批处理中运行。
- 非常灵巧,操作简单,我们花费很少的时间即可学会并且不会给测试的程序添加额外的负担。
- 功能可以扩展,如果希望更多的功能,可以很容易的扩展它。
官方主页:http://www.NUnit.org
TestDriven.NET
TestDriven.NET是以插件形式集成在Visual Studio IDE中的单元测试工具,完全兼容所有.NET Framework版本,并且集成了多种单元测试框架诸如NUnit,MbUnit,以及 MS Team System 等。 TestDriven.NET的前身是NUnitAddIn。
TestDriven.NET允许开发者在Visual Studio中运行或者调试他们的测试。
TestDriven.NET现在集成以下测试工具:
NUnit (单元测试)、 MbUnit、 ZaneBug 、 MSTest、 NCover(分析代码的覆盖率)、 NCoverExplorer(查看代码覆盖率的分析结果 )、 Reflector(类库反编译)、 TypeMock、 dotTrace、 MSBee
特性:
- 你在任何方法、类、源文件、命名空间、工程中直接单击即可运行测试。
- TestDriven.NET是以插件形式集成,完全兼容所有.NET Framework版本。
- 支持多种单元测试框架,像NUnit,MbUnit,以及 MS Team System。
- 在单独的进程中运行,你随时可以停止它。
- 可以方便的调试测试或者方法。
- 支持所有的.NET语言 (C#, VB, C++ ,J#).
- 支持Pseudo Categories
- 插件丰富
- 在新的版本中提供了对Silverlight 2 beta1的支持。
官方主页:http://www.testdriven.net/
还有一些测试工具了,像MSUnit,MSTest、 MSBee、NUnitForms等等工具了,但是现在好像没有很多人使用,我比较推荐TestDriven.NET工具。
这篇先说到这里了,下一篇对我们经常使用的测试语法做个概况性的理解。