Convert MSTest code covarage results in to XML

2019-07-20 13:49发布

I am using this code to convert MSTest code covarage results to XML format , I added reference to Microsoft.VisualStudio.Coverage.Analysis.dll bu there is no class called CoverageInfoManager . I am using VS 2010.

 static void Main(string[] args)
        {
            String coveragepath = System.IO.Path.GetDirectoryName(args[0]);
            CoverageInfoManager.SymPath = coveragepath;
            CoverageInfoManager.ExePath = coveragepath;

            // Create a coverage info object from the file
            String coveragefile = System.IO.Path.GetFullPath(args[1]);
            CoverageInfo ci = CoverageInfoManager.CreateInfoFromFile(coveragefile);



            // Ask for the DataSet.  The parameter must be null
            CoverageDS data = ci.BuildDataSet(null);



            // Write to XML
            String coverageoutput = System.IO.Path.GetFullPath(args[2]);
            data.WriteXml(coverageoutput);

        }

If I use this code instead of above,

 CoverageInfo coverage = CoverageInfo.CreateFromFile(@"....\data.coverage");

it throws an error saying "Image file "...\bin\Debug\TestProject1.dll" could not be found"

3条回答
三岁会撩人
2楼-- · 2019-07-20 14:00

You can find a tool that does the conversion to clover and to html format

The code is located at github.

This tool also uses a xsl transformation to create the html report.

查看更多
对你真心纯属浪费
3楼-- · 2019-07-20 14:03

I had the same problem, I needed to convert the coverage file to coveragexml by command line.

You might want to use the CoverageInfo and CoverageDS objects as depicted on snip2code.

using (CoverageInfo info = CoverageInfo.CreateFromFile(coverageFileName, new string[] { dllFileName }, new string[] { }))
        {
            CoverageDS data = info.BuildDataSet();

            data.WriteXml(coverageXmlFileName);
        }

Link: How to programmatically convert the Visual Studio coverage file to coveragexml by command line tool in csharp

查看更多
贪生不怕死
4楼-- · 2019-07-20 14:13

You need to use a new method to access your coverage file. This will get you there I'm sure:

http://blogs.msdn.com/b/phuene/archive/2009/12/01/programmatic-coverage-analysis-in-visual-studio-2010.aspx

查看更多
登录 后发表回答