使用脚本运行VisualStudio测试代码

   前面写了一篇文章讲如何用VisualStudio来进行白盒测试,请看我前面的文章:

   利用VisualStudio白盒测试入门

   它会有问题。它会生成一个*.trx的结果文件,里面记录了运行测试方法的一些结果信息和日志信息,假如我们向TRX文件中写入大量日志,那么TRX文件就没法保存到硬盘上了。我试过,只要TRX文件好像最大就没超过10M吧。

   而我们的项目却必须要用TRX文件,要分析TRX文件来自动的向数据库Log Result,以此来表明运行了一次测试。我总不能每次都跑几个测试方法吧,那么就必须守在电脑前,不断的选测试方法执行,等待执行完毕,再重复的选测试方法,执行…..
   崩溃了,这根本没体现出自动化测试的优势啊。
   恩,研究下,看有办法能让机器自动执行吗,于是找啊找,总算找到方法了。
   在VS安装目录下会有一个MSTest.exe程序,例如我的机器上,该程序的位置是:C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe
   利用该程序,我们就可以不用启动Visual Studio,用脚本就能执行TestMethod了。

   先看下MSTest的Help吧,如图所示:

使用脚本运行VisualStudio测试代码_第1张图片

 

MSDN:MSTest.exe Command-Line Options

 

   在我们的VS测试工程目录下,会有一个后缀名为*.vsmdi的文件,他是一个XML文件,里面描述了该项目的测试方法及其结构关系。将该文件拷贝到测试项目的输出目录下,与测试项目生成的dll在一起。然后在命令行中执行如下命令

C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe /testmetadata:TestProject1.vsmdi /test:TestMethod1 /test:TestMethod2

 

    过一段时间,可以看到执行了2个测试方法,同理,如果要执行其他的测试方法,就在命令行后加上/test:测试方法名就Ok 了。

 

   但是这个方法很不方便,假如我们有成千上万个TestMethod,难道要一个一个加吗?累都累死了。这时我们加入的New Test List就起作用了。 我们可以执行以下命令:

C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe /testmetadata: TestProject1.vsmdi /testlist: Math

这样就能把属于Math的所有TestMethod都运行了。

 

另一种根据DLL运行Test Method:
"C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe" /resultsfile:c:/TesResult.trx /testcontainer:c:/TestProject1.dll /test:TestMethod1 /unique

 

    呵呵,有了这个命令行方法,我们就能将其写如BAT脚本文件。想象一下,假如我们的测试比较规范的话,我们就可以在开发时做到每日下班后自动build code,然后自动运行一下测试项目,第二天早上就能知道daily build的大致情况。或者发布版本之前,先用程序自动测试一下看有什么明显的Bug没,然后再交由测试人员测试。



你可能感兴趣的:(Math,数据库,脚本,测试,dll,Build)