使用jenkins和CodeCoverage.exe创建Codecoverage文件

时间:2015-09-05 07:58:17

标签: jenkins code-coverage

我使用了visual studio的Codecoverage.exe来创建xml和它没有创建相同的覆盖文件。

  

我正在将这个工具与jenkins集成。如果可能的话,还可以采用其他方式

1 个答案:

答案 0 :(得分:1)

为了获取.coverage,请使用以下命令:

"c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "PATH_OF_YOUR_EXECUTABLE_OR_DLL" /InIsolation /EnableCodeCoverage

在Visual Studio中创建一个新的命令行项目,并添加对

的引用
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Coverage.Analysis.dll

然后使用以下代码:(根据需要自定义)

using Microsoft.VisualStudio.Coverage.Analysis;

namespace CoverageConverter
{
class Program
{
    static void Main(string[] args)
    {
        using (CoverageInfo info = CoverageInfo.CreateFromFile(
            "PATH_OF_YOUR_*.coverage_FILE", 
            new string[] { @"DIRECTORY_OF_YOUR_DLL_OR_EXE"}, 
            new string[] { }))
        {
            CoverageDS data = info.BuildDataSet();
            data.WriteXml("converted.coveragexml");
        }
    }
}
}

在执行工具之前,您必须将以下内容复制到项目的输出目录中:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Coverage.Symbols.dll

**根据日期时间和一些随机文件名创建coverage。根据文档,您似乎无法对其进行更改。为此,使用批处理脚本搜索并将.coverage文件重命名为您想要的名称。

希望有所帮助!!