Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to view HTML coverage report using Cobertura Maven plugin?

I want to generate and view a coverage report for a Java-Maven project.

I've added the following to pom.xml:

<reporting>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>cobertura-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <formats>
          <format>html</format>
        </formats>
      </configuration>
    </plugin>
  </plugins>
</reporting>

When I run mvn cobertura:cobertura it builds successfully and reports to the console that Cobertura Report generation was successful but I can't find the report.

If I cd into target/cobertura I find a file called cobertura.ser but I have no idea what to do with it.

Edit: After re-examining the docs, thanks to Andreas_D, I've added the <reporting> tag, but get the same result.

like image 644
Eric Wilson Avatar asked May 18 '11 13:05

Eric Wilson


2 Answers

This in the Build section:

<build>
    ...
    <plugins>
        ...    
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.2</version>
        </plugin>
        ...
    </plugins>
    ...
</build>

And then this in the Reporting section:

<reporting>
    ...
    <plugins>
        ... 
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
                <check></check>
                <formats>
                    <format>html</format>
                    <format>xml</format>
                </formats>
            </configuration>
        </plugin>
        ...
    </plugins>
    ...
</reporting>

Execute mvn cobertura:cobertura

Then look for index.html inside the target/site/cobertura/ folder.

like image 143
AStyle1 Avatar answered Nov 15 '22 12:11

AStyle1


Have a look at the plugin's documentation, there's an example. Pretty sure that you have to add a <reporting> element to actually produce the report.

like image 37
Andreas Dolk Avatar answered Nov 15 '22 14:11

Andreas Dolk