与 How to use MsTest in Continuous Integration without VS? 类似,我想在 TeamBuild 服务器上运行 mstest.exe。
我的上下文是 Trapping Error Status in MSBuild - 即,我只是尝试使用 mstest.exe/publish 将结果上传到 TFS 存储库。因此,http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/ 中的完整代码(您希望)可能是矫枉过正,尤其是 MSTEST.exe,正如 http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01 中所述,我需要做的就是安装 Team Explorer。
我已经安装了 VS2008 Team Explorer SP1 和 mstest.exe/?仍然没有告诉我发布选项。
回想一下,它说 mstest.exe/? 只需要 团队资源管理器 。出版:
我将沿着 procmon.exe 路径找出丢失的内容,但理想情况下,知情人士会介入并回答:-
mstest.exe/publish 应该只需要团队资源管理器,还是需要 VSTT 和团队资源管理器?
最佳答案
MSTest.exe 的/publish 选项会进行许可证检查,以确保在执行代码的发布部分之前安装了 Visual Studio 的“团队”版本(即开发人员或测试版本)。
引入此限制似乎是为了允许 Visual Studio 标准版本中的基本单元测试功能,但要求您拥有更昂贵的 Visual Studio 团队版本之一,以在测试中启用“团队”相关功能 - 例如发布你的测试结果到 TFS。
如果您没有安装 Team Epxlorer 的 Visual Studio 团队版,总共有 3 个缺失的功能。
如果您安装了开发版,那么您将获得发布和代码覆盖率,但不会获得远程代理代理功能(即用于进行负载测试)。
测试版和 Visual Studio Team Suite 应有尽有。
如果您想查看使用 MSTest.exe 从构建服务器发布单元测试数据(在此示例中为 JUnit 测试数据)的自定义 MSBuild 任务示例,请查看我编写的 Teamprise Build Extensions。这些的源代码在宽松的 MS-PL 开源许可证下可用。