我正在尝试将Visual Studio 2012中的单元测试结果和代码覆盖率报告轻松显示到CruiseControl.NET构建报告中。这些内容如下:
我的问题是如何控制vstest.console.exe的输出名称。我无论如何都没有找到控制它。此时我唯一的解决方案是编写一些自定义脚本来查找coverage文件和TRX文件并重命名为已知值。巡航控制工具可以正确找到文件。
任何帮助将不胜感激。谢谢,
答案 0 :(得分:1)
命令行看起来非常有限:
http://msdn.microsoft.com/en-us/library/vstudio/jj155796.aspx
“TRX记录器不支持任何参数(与TFS发布者记录器不同)。”
自:
Specifying results filename for vstest.console.exe
以下是一般性提示。
想到CC.NET的一种方式是这样的:它是一个很棒的,很棒的“Msbuild.Exe”执行者。
因此,如果您可以在msbuild(.proj)文件中编写逻辑,则可以让CC.NET调用它。
1. CC.NET calls a source-control retrieve task.
2. In that retrieve, there is a .proj file.
3. You get CC.NET to call "msbuild.exe MySolutionBuild.proj"
4. Have the .proj file run Unit-Tests, create xml, create artifacts (.zip(s) or .msi(s), etc)
5. After the build, have CC.NET pull in the results (usually xml with File-Merge) and have CC.NET send out emails (publishers).
如果你这样做,如果你去TFS(或Jenkins或其他),你将最大限度地减少过渡工作。
如果你非常依赖CC.NET专有命令,你可以让它工作,但更难维护恕我直言。
答案 1 :(得分:0)
看一下这篇文章 http://rubenwillems.blogspot.be/2011/09/setting-up-ccnet-in-combination-with.html
显示了所需的步骤。 看那里的第4步和第5步,这些包括单元测试和覆盖。