我使用了visual studio的Codecoverage.exe来创建xml和它没有创建相同的覆盖文件。
我正在将这个工具与jenkins集成。如果可能的话,还可以采用其他方式
答案 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文件重命名为您想要的名称。
希望有所帮助!!