Getting Started with Cover Reports


Diffblue Cover Reports provides insights about your code to help your team identify gaps in your application’s coverage, to target development work through data visualization using Diffblue Cover CLI and JaCoCo.

These data visualizations help make sure you have coverage where it is most important, instead of relying only on a single percentage for your entire application. In the screenshot below, although the application has a high level of coverage, some classes only have between 0-40% and 40-70% coverage. If these classes are critical for your application it may mean your application remains at high risk despite high coverage.

These reports are free for all customers using the Diffblue Cover CLI. Please contact your account manager to get access to the beta. Or if you are not yet using Diffblue Cover CLI, you can start a free trial.


  • Java version 8 or later

Supported Browsers

We support the most recent versions of:

  • Chrome
  • Safari
  • Edge
  • Firefox


  1. Unpackage the Diffblue Cover Reports ZIP file in a suitable location
  2. Run the appropriate script for your Operating System:
    1. macOS and Linux: ./
    2. Windows: reports-win.bat
  3. The Diffblue Cover Reports browser user interface can now be accessed via http://localhost:8080

Getting Started

To start using Diffblue Cover Reports, you need to:

  • Upload an existing jacoco.xml report (or generate and then upload a new jacoco.xml report)


  • Upload an existing dcover.json report (or generate and then upload a new dcover.json report). The dcover.json report contains information about the tests generated for each class and method, along with details of the output codes.

Generating your reports:

If you are using Maven, using the --coverage-reports command in DCover will generate JaCoCo reports in /.diffblue/reports/ For example: dcover create --coverage-reports. This can be configured using the additional options: --jacoco-command-manual and --jacoco-command-diffblue options, which run the non-Diffblue tests and the Diffblue tests, respectively. For further information on these commands, please see the user manual.

--coverage-reports assumes that the Diffblue tests are named following the * pattern. If the filenames for the created tests were changed or if --class-name-template was used, the generated JaCoCo reports will not be accurate. In that case, please generate the coverage reports manually.

Gradle users please follow the links below to generate your reports:

Uploading your reports:

1. Click on the Upload Reports button. You can either upload:

  • A dcover.json report and a jacoco.xml report (excluding Diffblue tests)
  • A dcover.json report, a jacoco.xml report (excluding Diffblue tests) and a jacoco.xml report (excluding manual tests)

2. Fill in the following fields:

  • Coverage report name - this is the name you use to refer to your work in Diffblue Cover Reports.
  • Diffblue Cover Report - this is the location of the JSON report you want to upload.
  • JaCoCo Report, excluding Diffblue tests - this is the location of the JaCoCo XML report which excludes any tests written by DCover.
  • JaCoCo Report, excluding manual tests - this is the location of the JaCoCo XML report which excludes all manual tests and keeps those written by DCover.

3. Then, click Upload reports.

4. Once you have uploaded your first report, you can see all reports listed by clicking on this icon on the left menu:

Database Location

By default, the Cover Reports database is stored in the following locations:

  • Unix: ~/.diffblue/reports/cover_reports.db
  • Windows: C:\Users\username\.diffblue\reports\cover_reports.db

To change the location of the database, use the following command:


For example:

 ./ –persistency.files.location=~/Documents/CoverReports

Test Coverage Breakdown

Once you have uploaded a report, click on the Dashboard icon to see the Test Coverage Breakdown. An example is shown below:


Click on to see more detailed information on coverage. An example is shown below. The innermost circle represents the package, the middle circle represents the classes, and the outer circle represents the methods.

You can hover over any slice of the sunburst to see the coverage percentage.

Note the key for modules, packages and classes. This enables you to keep track of the visualized methods. The example above is at the module level, and the example below is at the class level:

You can further drill down into the methods if you wish to do so.


Use the icon to see the insights into your report, for example:

You can also:

  • Hover over the Insights column (on the right) to find information on the output codes, as shown below: 

  • Click > to see information at the method level, for example:

  • Use the search facility to find the information you are looking for: