介绍一款VS.Net下的新的单元测试工具-TestDriven.NET

前言

无论是 Eclipse 、 JBuilder ,还是 JCreater ,都给使用者提供了 Run 或者 Debug 一个类的功能,前提是这个类中包含一个名为“ Main ”的静态方法。这样,在做 Java 编程时,可以很方便进行调试,如果再用上 JUnit ,爽啊!

恕我孤陋寡闻,目前在 VS.Net 里还没有这样方面的功能,如果是 WinForm 的项目还好,但如果是 Class Library 项目,其中的代码就不好调试了。看到这里,您会说了,用 NUnit 啊。对, NUnit 可以完全我的需求,但 NUnit 目前有几处不爽的地方:

1 :项目需求编译,再由 NUnit 打开对应的 dll 文件,如果能在 IDE 集成就好了;

2 : Debug 不方便,要通过IDE附加上 NUnit 的进程;

3 :目前正式的版本是 2.2 ,不支持 VS.Net 2005 。

功能介绍及下载

废话了半天,其实就是要介绍 TestDriven.NET ,这是一款优秀的单元测试工具,它的好处多多,比如:

1 : Free ;

2 : Small size ,集成了 Nunit2.3 、 MbUnit ,总共才 3M ;

3 :免配置,支持目前所有 VS.Net 版本,当然也包括 VS.Net 2005 beta ,安装完无须重新启动计算机即可使用。

4 :随时可以 Run/Debug 一个类中的任意方法,这是本文的重点,以下会重点介绍。

获得这款软件,可以到官方网站下载,地址是“ http://www.TestDriven.net ”,需要简单注册一下个人信息,下载后解压缩后安装即可。

进行测试

启动任何版本的 VS.Net ,建立一个 Class Library 项目,新建一个类。为便于介绍,可以写如下的代码:

int sum=0;

for (int i=0;i<=10;i++)

{

s um += i;

}

Console.Write(sum);

在方法里点击鼠标右键,会看到菜单里多了“ Run Test(s) ”和“ Test With… ”两项内容,如图:

先点一个“ Run Test(s) ”试试,会不会在 IDE 里看到输出的结果。

在最后一行加个断点,点“ Test With… ” - “ Debugger ”,是不是可以观看每一个变量的值了?不要告诉我你不知道如何调试。

这样,我们就可以随时随地运行一个方法,观察运行状态了,这一点,对于静态方法非常管用;对于需求上下文的方法,一个办法写一些专门的方法进行调试,就象 Java 编程里经常写的“ Main() ”一样,或者在该方法的头部把变量赋上值,调试完了再删除。

与 NUnit 结合

TestDriven 里集成了 Nunit ,可以很方便的与之结合使用。

在 Solution Explore 里,在该类上点击鼠标右键,可以看到“ Test With ” - “ NUnit ”,如下图:

如果这时直接 Run ,会看到如下的提示:

这是因为没有在类中声明“ [ TestFixture ] ”,需要把代码修改两处:

1 :加“ using NUnit.Framework; ”;

2 :在“ public class Class1 ”前加一行“ [ TestFixture ] ”,如果对 NUnit 不熟悉,可以在 Google 里搜索一个它的用法;

3 :在需要测试的类前加一行“ [Test] ”。

这时再 Run 一下 Nunit ,点一下“ Run ”按钮,是不是能看到如下界面:

这里还有一个小秘笈,就是在第 3 步操作里,可以不加“ [Test] ”这个 Attribute ,只需要让方法的名称以“ test ”开头就行,不论大小写都可以,不信你试试看。

TestDriven.Net 只是一款单元测试工具,具体怎么用完全取决于使用者,笔者也刚刚开始用,如果您有什么更好的用法,欢迎多交流!

TestDriven.Net 只是一款单元测试工具,具体怎么用完全取决于使用者,笔者也刚刚开始用,如果您有什么更好的用法,欢迎多交流!

TestDriven.Net 只是一款单元测试工具,具体怎么用完全取决于使用者,笔者也刚刚开始用,如果您有什么更好的用法,欢迎多交流!

Published At
Categories with Web编程
Tagged with
comments powered by Disqus