Comments (8)
Hi Stephen,
nested types are not ignored.
ReportGenerator processes coverage reports in the following way:
- Collect classes of assembly (without nested classes), see line 191
- Then every class with all nested types is processed, see line 274
That means that the summary page only shows the main classes. But if you take a look at a class report, also the nested classes are included.
E.g. have a look at ConcurrentBag
. Only the main class shows up in index.htm, but nested types like Node
or ThreadLocalList
show coverage information as well.
See lines 837-1001 in ConcurrentBag_1.htm
from reportgenerator.
Thanks for following up, Daniel! I should have been clear that there are different issues for different nested types. I can understand that it's a design choice that ones like you mentioned don't show up in the main list of types. But, for example, this code https://github.com/dotnet/corefx/blob/master/src/Common/src/Interop/Windows/BCrypt/Interop.BCryptGenRandom.cs is in System.Security.Cryptography.RandomNumberGenerator, and it's type shows up in the OpenCover output XML file, but I can't find Interop or BCrypt anywhere in the report for that library. Am I just missing it?
from reportgenerator.
Can you please provide me the corresponding OpenCover XML?
Perhaps something is wrong with partial nested classes.
I have to debug this with the report.
from reportgenerator.
from reportgenerator.
The problem is, that the outer class Interop
does not contain any methods, constructors etc.
It only contains the nested class BCrypt
.
When ReportGenerator collects the name of all classes (see my comment above), the class Interop
is not taken into account, because the OpenCover report does not contain any information about this class.
Therefore the nested class BCrypt
is not considered too.
I think I can change this in ReportGenerator wihin the next 2-3 days.
from reportgenerator.
Thanks, Daniel.
from reportgenerator.
Could you please test again with version 2.1.6.0?
It should work as expected.
I created a sample nested class myself. OpenCover tracked the wrapper class, although it did not have any members. Strange that this does not happen for your Interop
class.
from reportgenerator.
Thanks, @danielpalme! Seems to be fixed.
from reportgenerator.
Related Issues (20)
- 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
- 5.3.5 has broken the pipeline due to "New Exception" being thrown due to `rawName` HOT 5
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.