简体   繁体   中英

Viewing Code Coverage Results outside of Visual studio

I've got some unit tests, and got some code coverage data. Now, I'd like to be able to view that code coverage data outside of visual studio, say in a web browser. But, when I export the code coverage to an xml file, I can't do anything with it. Are there readers out there for this? Do I have to write an xml parser and then display it how I want it (seems like a waste since visual studio already does this.) Seems kinda silly to have to take a screenshot of my code coverage results as my "report" Suggestions?

This tool https://github.com/danielpalme/ReportGenerator quickly generate Html reports from coverage file. Works quite well and does not require complex activities, can be easily included in the build process.

There is this tool called Visual Coverage ( https://github.com/jsargiot/visual-coverage ). It takes a .coverage file as input and can export it to clover or html.

The page on github shows how to execute and if you're curious you can take a look at the code...

You can use the tool NDepend and visualize code coverage results imported from NCover , dotCover or Visual Studio coverage . The tool can show code coverage vs. lines of code in a colored treemap. This feature is especially useful to browse at a glance which portion of code is well covered or not by tests.

NDepend 彩色树状图代码覆盖率与代码行数

You can also write and apply continuously code rules written over LINQ queries (CQLinq) like:

From now, all types added or refactored should be 100% covered by tests

// <Name>From now, all types added or refactored should be 100% covered by tests</Name>
warnif count > 0 from t in JustMyCode.Types where

  // Match methods new or modified since Baseline for Comparison...
  (t.WasAdded() || t.CodeWasChanged()) &&

  // ...that are not 100% covered by tests
  t.PercentageCoverage < 100

  let methodsCulprit = t.Methods.Where(m => m.PercentageCoverage < 100)

select new { t, t.PercentageCoverage, methodsCulprit }

...or also:

The panel Search by Coverage can generate such Code Query over LINQ, and displays instantly the matched code elements:

按覆盖范围搜索方法

Also, the tool can build a HTML/javascript reports that will show code rules violated or code queries results .

Now you can use the tool of dotnet for generate the report in html

dotnet tool install -g dotnet-reportgenerator-globaltool
reportgenerator
"-reports:Path\To\TestProject\TestResults\{guid}\coverage.cobertura.xml"
"-targetdir:coveragereport"
-reporttypes:Html

Source: https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-code-coverage?tabs=linux#generate-reports

可能有帮助:您可以在代码覆盖率结果窗格中打开所有覆盖率数据并将其复制并粘贴到 Excel...

I can't speak for the content of the exported XML, but I'd expect it contain your coverage data as a summary.

The usual thing to do with XML data like this if you want to see it in a web browser page is to convert it to HTML by writing and running a custom XSLT script. This will presumably get you HTML text and tables containing your data.

If you want to see the coverage data as decorations imposed on the source code, I think you have a much harder problem.

我使用 NCover 来完成我所有的代码覆盖,你可以很容易地导出结果

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM