使用mstest.exe 命令行跑test case(不安装Visual Studio 2010)

怎样在没有安装VS2010的环境里用mstest.exe跑test case?(注:以下实验在64位Windows 7上通过)

1. 首先在装有VS2010的环境里,新建一个文件夹,如C:\Users\username\Desktop\mstestCommandLine(注意文件夹名不能有空格,否则运行下面的脚本会有问题),然后把下面的脚本getmstest.bat复制到此目录下,运行getmstest.bat,这个bat会把mstest.exe需要的类库及注册表都导入到当前目录下一个叫mstest的文件夹里

getmstest.bat

复制代码
复制代码
@echo off
setlocal
set here=%~dp0

mkdir mstest
set targetfolder=%here%mstest

set programs=%programfiles%
if exist "%programfiles(x86)%" set programs=%programfiles(x86)%
set vs2010="%programs%\Microsoft Visual Studio 10.0"
set gac1="%windir%"\assembly
set gac2="%windir%"\Microsoft.NET\assembly

echo === Copying from Visual Studio 2010 install folder...
copy %vs2010%\Common7\IDE\mstest* "%targetfolder%"
copy %vs2010%\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Quality* "%targetfolder%"
copy %vs2010%\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.CodedUITestFramework* "%targetfolder%"

echo === Copying from %gac1%...
pushd "%gac1%"
dir /s /b *.dll | findstr QualityTools | findstr 10.0.0.0 > %here%tmp.filelist
popd
for /F "tokens=*" %%f in (tmp.filelist) DO copy "%%f" "%targetfolder%"

echo === Copying from %gac2%...
pushd "%gac2%"
dir /s /b *.dll | findstr QualityTools | findstr 10.0.0.0 > %here%tmp.filelist
popd
for /F "tokens=*" %%f in (tmp.filelist) DO copy "%%f" "%targetfolder%"

del tmp.filelist

echo === Exporting registry keys...
regedit.exe /e %targetfolder%\mstest.reg HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\EnterpriseTools\QualityTools\TestTypes

echo === Done. Check output for errors!
exit /b 0
复制代码
复制代码

2. 准备跑test case需要的文件:我把它们放在了C:\Users\username\Desktop\mstestCommandLine\test文件夹里,如下图所示。注意下图里的TestResults为自己新建的文件夹,run case时会用到,用于存储test result。现在,要准备的文件都放在了C:\Users\username\Desktop\mstestCommandLine里

3. 在目标机器上安装.NET Framework 4.0
4. 把C:\Users\username\Desktop\mstestCommandLine文件夹复制到目标机器上,假设复制到目标机器的桌面上

5. 在目标机器上,运行C:\Users\username\Desktop\mstestCommandLine\mstest这个文件夹里的mstest.reg(双击即可)

6.在目标机器上,Run->cmd, 回车,进入mstest.exe所在的文件夹,然后运行下面的命令:

mstest /noisolation /testcontainer:C:\Users\<username>\Desktop\mstest\test\TestProject1.dll /resultsfile:C:\Users\<username>\Desktop\mstest\test\TestResults\result.trx

7. 运行结果如下图所示:

参考:

http://mindinthewater.blogspot.com/2008/11/executing-visual-studio-unit-tests.html

http://mindinthewater.blogspot.com/2011/02/executing-visual-studio-2010-unit-tests.html

 

 

出处:https://www.cnblogs.com/jenneyblog/archive/2012/09/14/mstestcommandline.html

======================================================================================================

优化:

1)可以在任何目录或文件夹下执行

2)可以直接输出测试报告到文件

posted on   jack_Meng  阅读(262)  评论(0编辑  收藏  举报

编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
历史上的今天:
2017-07-06 计算机的启动过程

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩