运行MSTest单元测试作为TeamBuild的一部分

时间:2010-09-01 05:45:08

标签: testing msbuild mstest team-build

1 个答案:

答案 0 :(得分:1)

我发现三步消除很有用:

  1. 测试是否在Visual Studio开发环境中运行?

  2. 测试是否在本地的msbuild中运行?

  3. 测试是否在构建服务器上的msbuild中运行?

  4. 我使用下面的build.cmd脚本在我的本地计算机上运行msbuild,该环境与TFS构建服务器将使用的环境非常匹配。

    build.cmd脚本

    @setlocal
    
    SET MSBUILDVER=v4.0.30319 
    SET MSBUILDEXE=%FrameworkDir%%MSBUILDVER%\MSBuild.exe
    SET builduri=local
    
    %MSBUILDEXE% BuildDefinitions\TFSBuild.proj %*
    

    注意:必须从Visual Studio 2010命令提示符窗口运行此脚本:

    开始 - >所有程序 - > Microsoft Visual Studio 2010 - > Visual Studio工具 - > Visual Studio命令提示符(2010)

    通常,在TFSBuild.proj中设置true应该会导致单元测试在构建中列出的任何解决方案中自动运行,但听起来这对你不起作用?

    如果从命令shell传递命令行选项/ p:RunTest = true到msbuild会发生什么?

    如果需要,您应该能够通过TFSBuild.rsp文件向服务器构建添加自定义TFS构建命令行选项,但RunTest不一定非必要。

    TFS构建服务器应自动创建.trx结果文件 - 通过Visual Studio中的Build Explorer检查构建结果 - View Test Results将在VS中打开.trx文件。

    不确定您的其他特定问题的解决方案,但我会尝试在本地命令窗口中运行构建,以更清楚地了解构建期间发生的情况。 错误消息将显示为红色文本,警告消息显示为黄色文本,许多其他中间构建步骤信息显示为灰色文本。

    关于TFS构建主题,有很多好的博客文章 - Aaron Hallberg的博客(blogs.msdn.com/b/aaronhallberg)将是一个很好的起点。此外,MSDN在TFS / MS Build上有很多很好的信息 - 例如:Running Builds in Team Foundation Build