Comments (7)
AFAIK and remember, when branch coverage is improved, original branch coverage calculated for method is left unchanged for legacy reasons. I believe correct values comes from ReportGenerator.
Take look at your <BranchPoints> in report
from reportgenerator.
This wiki page explains some metrics of ReportGenerator: https://github.com/danielpalme/ReportGenerator/wiki/Calculation-details
Here you'll find the relevant code:
https://github.com/danielpalme/ReportGenerator/blob/master/ReportGenerator/Parser/Analysis/CodeFile.cs
https://github.com/danielpalme/ReportGenerator/blob/master/ReportGenerator/Parser/OpenCoverParser.cs
I don't know the details of how OpenCover calculates its metrics, so I can't explain any differences.
But: Line coverage is not the same as Sequence coverage. One sequence point can span several lines of code. So there might be a (little) difference.
from reportgenerator.
@danielpalme Thank you. I'll go over these.
@ddur I'm having trouble parsing what you're saying. What do I look for with the BranchPoints in the OpenCover output?
from reportgenerator.
@draftsteve
I mean, % of branch coverage should be number of visited <branch point>'s divided by number of all <branch point>'s, multiplied by 100
edit:
Coverage percentage totals are probably averaged and rounded for each level up from method (class, namespace, assembly, total). You should not care much for exact number, unless is 100% :)
from reportgenerator.
@ddur:
Coverage percentage totals are not averaged. For each level (assembly, class, file), the exact numbers are calculated.
from reportgenerator.
@danielpalme Sorry, I said "probably" cause I'm not sure.
So you accumulate visited/unvisited numbers of <SequencePoint>'s & <BranchPoint>'s for each level up and then compute?
What I meant under averaged is: sum number of methods, sum percentages and divide both sums.
from reportgenerator.
So you accumulate visited/unvisited numbers of 's & 's for each level up and then compute?
Yes.
from reportgenerator.
Related Issues (20)
- minimumCoverageThresholds:lineCoverage not working HOT 12
- Issue with -reporttypes field HOT 1
- Wiki Edit HOT 1
- Unable to convert opencoverxml file into corbertura.xml file using ReportGenerator in Azure Devops Pipeline HOT 3
- Release notice confuses me. HOT 1
- Why is the reportgenerator command installed using the dotent not working? HOT 2
- Report generated is always at version 5.1.14.0 on AzureDevops HOT 1
- Allow to specify the root path HOT 1
- Question: Is the format created by the CTC++ tool supported as input for report generator? HOT 2
- MS Coverage output isn't cleaning compiler generated methods/types HOT 13
- Ability to exclude classes from Risk Hotspots HOT 6
- Error while converting jacoco report to cobertura HOT 12
- Suggestion for new report type: MarkdownTableShortSummary HOT 2
- Sonarqube format clashes with DeterministicSourcePaths=true HOT 5
- Azure DevOps task option publishCodeCoverageResults doesn't work with relative targetdir path HOT 2
- Azure pipeline failure due to dependency on NodeJS version 6 HOT 3
- Docs/readmes: add info about `minimumCoverageThresholds` HOT 2
- ReportGenerator 5.3.1 fails on self hosted azure devops agent running on Amazon Linux 2 arm64 instance (t4g) HOT 2
- Question about lcov conversion HOT 4
- Strange source file references in a HTML report from dotnet-coverage on Linux HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reportgenerator.