TestDriven.NET测试开发工具

 转载:http://www.cnblogs.com/fxb248/archive/2006/07/20/455560.html

 


        测试驱动现在应该是比较普遍的概念了,我们一般都会用Nunit进行测试。但这样测试有两个不方便的地方,一是我们写好测试代码后要另开一个程序,也就是 Nunit-gui.exe程序加载编译过后的测试代码,然后点击“Run”进行测试;二是我们即使在Nunit中测试通过了,也只是看到一个非常环保的 绿条,知道我们的测试是通过了,但这并不能使我们在代码层上有更多了解,比如,你难道不想知道你的代码的使用率来改进你的程序?
        针对以上两个问题,我首先向大家介绍TestDriven.NET。你可以到http://www.testdriven.net/default.aspx上查看它的详细信息,你也可以到http://www.testdriven.net/download.aspx下 载它,好像只有个人版是能免费下载的。它能将Nunit集成到Visual Studio.NET开发环境中,它也能将NCover(接下来将介绍)和NCoverExplorer(下面也会介绍)。按照网上的说法它支持各种版本 的Visual Studio.NET,所以你不必担心兼容性冲突。当你安装了TestDriven.NET后,你会在开发环境的菜单里看到这个集成,如下图(这里显示的 就是已安装了NCover的):

                                                                                            
        接下来要介绍的是NCover。它是用来测试代码的覆盖率的。你可以到http://ncover.org/site/看它的详细信息和下载它,目前的最新Beta版本是1.5.4。安装很简单,就不提了,举个例子怎么使用它。
        假如我写个非常简单的计算器,类如下(因为我看的网站上有现成的例子,先引来用了):

                                                                   

        它的WinForm如下:

                                                               

        这个WinForm的后台代码如下:

                                                               

        编译后就有了一个.exe文件。然后我就可以使用NCover了。
        当你看到安装后的NCover后,可能会有点失望,是的,它没有华丽的界面,而只是一个命令行工具,但它功能强大,能够分析哪些代码被执行过了和执行的频繁度,并能将这些信息显示出来。
        NCover的命令行语法是:
        

Usage: NCover  / c [ / a ] 

       
/ c Command line to launch profiled application.
       
/ a List of assemblies to profile. i.e. “MyAssembly1;MyAssembly2″
       
/ v Enable verbose logging (show instrumented code)

 

        当NCover分析完你的代码,它会产生两个文件:一个是 coverage.log ,另一个是 coverage.xml。log文件包含了NCover分析程序时的信息,xml文件很重要,包含了程序的分析信息。你还能在安装后的文件里看到一个Coverage.xsl文件,有了它你就能用浏览器看分析出来的xml文件而不必再自己做xsl转换了。
        接下来我们使用NCover。下面是我输入的命令和NCover的输出:

 C:/Program Files/NCover > NCOVER.CONSOLE “…/dev/VS2005/Test/DDG/CalcApp/CalcApp/bin/Debug/CalcApp.exe”
NCover.Console v1.
5.4   -  Code Coverage Analysis  for  .NET  -  http: // ncover.org
Copyright (c)  2004 - 2005  Peter Waldschmidt 

Command: …/dev/VS2005/Test/DDG/Calc
App/CalcApp/bin/Debug/CalcApp.exe
Command Args:
Working Directory:
Assemblies:
Coverage Xml: Coverage.Xml
Coverage Log: Coverage.Log

Waiting 
for  profiled application to connect…
*******************  Program Output  *******************
*****************  End Program Output  *****************

        当你打了命令NCover.Console “………  .exe”后,程序会调用出这个exe程序,然后你就可以使用这个exe程序的功能,当你觉的可以了,就关闭这个exe程序,那么NCover就会输出 “End Program Output”的字样,然后xml文件就产生了。这里我还要很遗憾的告诉你,NCover不支持Web,我试过,结果如下图:

                                   
        程序分析完后的xml文件很大也很复杂,我们不可能去看这个文件。但你可以用IE来看,比较直观,如下图:

                                                               

        从这里你就可以看到结果了。
        但是这样看还不是很理想,有个很好的工具可以帮助你,那就是

NCoverExplorer ,你可以从http://www.kiwidude.com/dotnet/NCoverExplorer.zip下载。下载解压后,你只要打开里面的NCoverExplorer.exe文件,然后加载进NCover分析产生的xml文件,你会看到非常令你满意的程序分析结果,比如下面的图:

                                           

        每个类甚至每个类中方法的使用率都显示出来了,当你点击其中的方法,你还可以看到代码,它还用不同的颜色标识出了使用的代码。呵呵,真是个很好的工具。
        介绍到这里也差不多结束了,这个也只是概要介绍,有时间的话再向大家介绍更详细的应用和其它一些好的工具。希望这些工具能给你带来大的帮助!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值