我可以在不安装Visual Studio的情况下使用mstest.exe吗?
我想使用mstest.exe在构建服务器上运行我的单元测试,但我不想在构建服务器上安装Visual Studio。我可以在没有Visual Studio的情况下安装MSTest吗?我可以在不安装Visual Studio的情况下使用mstest.exe吗?
可以在没有visual studio的情况下运行mstest.exe。
下载的代理商之一为Visual Studio ISO的下面,并在服务器上安装测试代理:
Visual Studio 2017(127MB硬盘空间,小于下载)
Visual Studio 2015(128MB的设置,需要2GB磁盘空间)
Visual Studio 2012(224MB)
Visual Studio 2013(287MB)
Visual Studio 2010(515MB)
这将安装需要运行的一切命令行中的mstest.exe比Visual Studio轻得多。如果我没有记错的话,那么〜500mb的下载和大约300mb的安装只需要测试代理。
UPDATE
对于比VS 2017年的旧版本,看看这里:
您可以下载[Visual Studio 2012代理](http://www.microsoft.com/en- us/download/details.aspx?id = 38186)。 – djeebus 2013-05-06 16:45:51
在安装TestAgent和TestController之后放置MsTest.exe? – 2013-10-03 10:20:16
C:\ Program Files \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ MSTest.exe – Foole 2013-10-23 00:20:35
我想你可能可以,但它绝对不支持。
我发现这篇博客文章是由某人声称MSTest在没有安装Visual Studio的情况下编写的。
任何有Hacking这个词的URL都需要质疑努力的价值,如果MS决定改变它的实现,你的环境可能会变得不稳定,每次Windows更新都会发生意想不到的事情(我们会定期更新,对吗?)。 – Russell 2010-08-04 05:52:15
在这种情况下,Windows更新似乎不太可能破解黑客行为。但更新版本的mstest(例如,VS的新版本或Service Pack中)可能会有所不同。 – 2010-08-04 06:25:13
@Russell - 就我个人而言,我要么掏钱购买额外的VS许可证,要么只是使用NUnit。 – Justin 2010-08-04 06:34:44
@crocpulsar,你需要在你构建服务器,上安装Visual Studio,但你并不需要购买额外的许可证。
只有太多依赖才能构建& MSTest在没有安装VS的情况下工作,并且最明显的是不支持。
只要启动构建的人拥有许可证,您就不需要构建服务器。自2005年黑暗的日子以来,情况一直如此,只要有版本平价,那么你就没问题。
如果团队中的每个人都拥有Ultimate,那么您可以自由将其安装在构建服务器上;但是如果您的团队成员中有一个拥有Premium,那么您应该在构建服务器上理想地安装Premium。这也使代码覆盖率,测试影响分析和体系结构验证等许多其他功能成为可能。
。这是http://blogs.msdn.com/b/jeffbe上的微软发布的文章。 /archive/2008/03/18/licensing-team-system-editions-for-your-build-machine.aspx – Maslow 2010-08-19 14:31:24
下面是我让我的构建服务器,而无需安装VS 2012运行MSTest的步骤:
- 在c:\ dev中创建'Mstest'目录文件夹。
- 将C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE中的'Mstest.exe'和'Mstest.exe.config'复制到'Mstest'目录
- 复制Microsoft.VisualStudio。。在 'MSTEST' 文件夹
- QualityTools.UnitTestFramework.dll为 'MSTEST' 目录
- 创建 '组件' 目录提取的所有V11 Microsoft.VisualStudio.QualityTools *由C的DLL:\ WINDOWS \总成“MSTEST /组件'directory
- 复制所有'v11'Microsoft.VisualStudio.QualityTools。 .dlls和Microsoft.VisualStudio.TestTools。 .dll从C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL复制到'Mstest/assemblies'
- 复制所有v11 Microsoft.VisualStudio.QualityTools。 .dlls和Microsoft.VisualStudio.TestTools。 .dll from C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ PrivateAssemblies to'Mstest/assemblies'
- 将'程序集'添加到'MsPath.exe.config'的'privatePath'属性中'
- 导出'HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/11.0/Enterprise/QualityTools并将其应用于hudson框。
- 将QTAgent32.exe和QTAgent32.exe.config复制到C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE中的'MsTest'目录中
- 将'assemblies'添加到'privatePath'属性中在 'QTAgent32.exe.config'
- 复制 'msdia110.dll' 从 'C:\ Program Files文件(x86)的\微软的Visual Studio 11.0 \ Common7 \包\调试' 到 'MSTEST /组件'
注册'msdia110.dll'与c:/windows/syswow64/regsvr32.exe/i'../mstest/assemblies/msdia110.dll'(这个错误,但由于某种原因,它仍然有效,我跑了几次并在我检查之前尝试了不同的regsvr32.exe版本,但它在注册表中)
添加环境变量'MSTEST_HOME'并将其设置为'c:\ dev \ mstest \'或设置为您的路径。我在构建脚本中使用了环境变量。
调试MSTEST执行错误:
添加到 'MsTest.exe.config'
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MsTest.log" />
</listeners>
</trace>
<switches>
<add name="EqtTraceLevel" value="Verbose" />
</switches>
</system.diagnostics>
你能否提供一些细节。什么版本?建立服务器?等等 – 2010-08-04 05:42:22