2015-09-05 76 views

回答

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文件重命名为所需的名称。

希望帮助!

+0

感谢Anuja,但我必须使用命令行,就像您在解决方案的第一步中所建议的一样,但是我已经试过并且给出了输出coverage文件,但是我想在jenkins中将它用作插件或任何将其更改为html格式 – smsh

+1

哦。这里工作: https://github.com/danielpalme/ReportGenerator –

+0

我想用它作为jenkins的插件。你可以告诉任何方式 – smsh