Describe the bug
When parsing Cobertura files generated with JestJS some line coverage information is not processed by ReportGenerator. Apparently, ReportGenerator only considers line coverage information attached to <class> element while ignoring information attached to <method> elements.
It works for other cobertura producers because they usually duplicate line coverage: so a line is attached to both a class and a method. In case with JestJS it's not duplicated for some unknown reason, so a line is attached to either a class or a method.
To Reproduce
Try to generate a report from this example:
<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage lines-valid="7" lines-covered="2" line-rate="0.28" branches-valid="0" branches-covered="0" branch-rate="0" timestamp="1681280730343" complexity="0" version="0.1">
<sources>
<source>C:\coverage</source>
</sources>
<packages>
<package name="some.package.name" line-rate="0.5" branch-rate="0">
<classes>
<class name="code-file.js" filename="src\code-file.js" line-rate="0.5" branch-rate="0">
<methods>
<method name="(anonymous_0)" hits="0" signature="()V">
<lines>
<line number="4" hits="0"/>
</lines>
</method>
<method name="(anonymous_1)" hits="0" signature="()V">
<lines>
<line number="8" hits="0"/>
</lines>
</method>
<method name="(anonymous_2)" hits="0" signature="()V">
<lines>
<line number="11" hits="0"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="3" branch="false"/>
<line number="3" hits="3" branch="false"/>
<line number="5" hits="0" branch="false"/>
<line number="9" hits="0" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>
Expected result:
Covered = 2
Uncovered = 5
Coverable = 7
Actual result:

Describe the bug
When parsing Cobertura files generated with JestJS some line coverage information is not processed by ReportGenerator. Apparently, ReportGenerator only considers line coverage information attached to
<class>element while ignoring information attached to<method>elements.It works for other cobertura producers because they usually duplicate line coverage: so a line is attached to both a class and a method. In case with JestJS it's not duplicated for some unknown reason, so a line is attached to either a class or a method.
To Reproduce
Try to generate a report from this example:
Expected result:

Covered = 2
Uncovered = 5
Coverable = 7
Actual result: