I'm working on a .NET project that uses Jenkins
as the CI server. The server is working as it's supposed to but now I'm trying to make it emit alerts in case of low code coverage.
The approach that I'm trying is to use Sonar
to execute NUnit
and OpenCover
, but I need to link the code coverage metrics from Sonar
back to Jenkins
and that's where the problem resides.
AFAIK the report generated from OpenCover
(coverage-report.xml) as is, is not recognized from Jenkins
so what I'm trying to do is to make them talk by a xsl file that transforms the (coverage-report.xml) to a (emma-report.xml) that Jenkins
has plugins that understands.
Although I don't know it that is the best approach. Better approaches are more than welcome ;) I'm facing a problem to get the block coverage
metrics from OpenCover (Emma
needs this metric).
I've managed to transform all other metrics needed class, %
, method, %
and line, %
from OpenCover
to Emma
, but I'm not sure if is possible to get the block, %
from the report.
Can anyone tell me if it is possible or if there is a better approach to achieve what I'm trying to do (that is, make Jenkins
emit build alerts when code coverage is bellow a certain percentage)?
Thanks in advance! :)
If you click on the Coverage Report icon, you will see code coverage for each package in your application, and even drill down to see the code coverage (or lack thereof) for an individual class (see Figure 2.31, “Jenkins lets you display code coverage metrics for packages and classes”).
OpenCover is an open source code coverage tool for . NET 2 and above. OpenCover is most commonly used to gather coverage data of code that is being exercised by unit testing (i.e. nunit, mstest etc.).
Code Coverage Percentage = (Number of lines of code executed by a testing algorithm/Total number of lines of code in a system component) * 100.
It looks like there is now a tool to convert OpenCover reports to Covertura XML https://github.com/danielpalme/OpenCoverToCoberturaConverter/tree/master/OpenCoverToCoberturaConverter
The thread discussing this.
http://reportgenerator.codeplex.com/discussions/398788
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With