CruiseControl.NET Visual Studio测试用例不在控制面板上显示

问题描述:

我在项目构建后使用CruiseControl.NET运行Visual Studio测试用例。在原始XML日志,我可以看到它在运行测试用例和说法,其中通过了,哪些失败了,但在仪表盘的CruiseControl所有它说的是:CruiseControl.NET Visual Studio测试用例不在控制面板上显示

9个项目在所有:-) Juchuu没有警告建成! !

这里是我的项目块的样子:

<project name="projectname" queue="queuename" queuePriority="2"> 
    <workingDirectory>C:\Build</workingDirectory> 
    <category>categoryname</category> 
    <webURL>http://myurl/ViewProjectReport.aspx</webURL> 
    <triggers> 
     <intervalTrigger seconds="60" /> 
    </triggers> 
    <modificationDelaySeconds>60</modificationDelaySeconds> 
    &sc; 
    <tasks> 
     <msbuild> 
     <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
     <workingDirectory>C:\mypath</workingDirectory> 
     <projectFile>project.sln</projectFile> 
     <buildArgs>/v:quiet /noconlog /p:Configuration=Debug</buildArgs> 
     <targets>Build</targets> 
     <timeout>900</timeout> 
     <logger>C:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCnet.dll</logger> 
     </msbuild> 
     <exec> 
     <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\mstest.exe</executable> 
     <baseDirectory>C:\Build\Test\TestCases\</baseDirectory> 
     <buildArgs>/testcontainer:testproject\bin\debug\testproject.dll /runconfig:localtestrun.Testrunconfig</buildArgs> 
     <buildTimeoutSeconds>900</buildTimeoutSeconds> 
     </exec> 
    </tasks> 
    <publishers> 
     <xmllogger logDir="C:\Program Files\CruiseControl.NET\Logs\Navtrak\H4CommandProcess\" /> 
    </publishers> 
    </project> 

我如何获得通过/失败测试案例CruiseControl的仪表盘页面上显示为特定的构建?

感谢, 贾斯汀

请参阅本文如何让MSTest的结果出现在CruiseControl.Net一些提示:

http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+MSTest

从本质上讲,你需要做的是:

  • 获取MSTest以将其测试结果保存到xml(.trx)文件(您的原始构建输出可能会以测试格式显示测试结果,ho Wever CruiseControl.net需要xml格式的结果)
  • 获取CruiseControl.Net将此xml文件合并到您的巡航控件构建日志中。
  • 添加额外的构建报告,使用XSLT将xml测试结果转换为漂亮的html。

上面的文章更详细地介绍了如何做到这一点,以及一些额外的考虑因素(如删除旧的测试结果)。

此外,我注意到你正在使用Visual Studio 2009 - 上面的文章没有强调的是,当你设置你的仪表板来显示MSTest结果时,你需要确保你使用VS2009特定CruiseControl.Net中的xslt directroy,因为标准的不会在仪表板上显示任何结果。