Get started - Cover Reports

Get started with Diffblue Cover Reports - in short, check the prerequisites, download and install Cover Reports, create and upload a reports bundle, and finally, visualize your coverage data.

Cover Reports is a server-side tool accessed via a web browser - Chrome, Edge, Safari, or Firefox. Cover CLI and/or Cover Pipeline are used to create and upload coverage data - Cover Reports is used to visualize that data. This getting started topic focuses on Cover CLI - for information on using Cover Reports with Cover Pipeline see Cover Pipeline.

This topic covers Docker install only. As an alternative, Cover Reports can be installed from a zip archive or exe installer. These provide for running Cover Reports as a Windows Service, Linux Service, Windows .bat, or macOS/Linux .sh, and removes the need to use Docker. These also provide various database configuration options to provide further flexibility. See Install and update Cover Reports for details.


Prefer video? No problem. Check out our overview video.

1. Check the prerequisites

A summary of Cover Reports prerequisites are listed below - see Specs & Reqs for full details.

Client workstation - Cover Reports Contributor:

  • Diffblue Cover CLI

  • JaCoCo 0.8.3+

  • Network connectivity between the user's workstation and the Cover Reports server.

Client workstation - Cover Reports User:

  • The latest version of Chrome, Edge, Safari, or Firefox with a screen resolution of 1920 x 1080 or higher.

  • Network connectivity between the user's workstation and the Cover Reports server.

Server hosting Cover Reports - Cover Reports Administrator::

  • Docker Engine 20.10.17

  • 4GB RAM (8GB recommended), 2GB* minimum available disk space, 4 CPU cores.

  • 2GB Java heap allocation, 4GB recommended.

  • Docker Compose v2.10.2

  • Network connectivity between the server and client workstations.

  • Internet connection if using Docker Hub for install.

2. Install Diffblue Cover Reports

  1. Using the link provided by Diffblue, download the Cover Reports .tar.gz file (e.g. diffblue-cover-reports-2023.07.02.tar.gz) to the server you plan to use to host Cover Reports. Contact Diffblue Support if you don't have the download link.

  2. From the directory containing the Cover Reports .tar.gz file, load the Docker bundle:

docker load -i /path/diffblue-cover-reports-<version>.tar.gz
  1. In your shell, navigate to your preferred install directory (we'll now refer to this as $COVER_REPORTS_HOME). Using the link provided by Diffblue, download the Cover Reports Docker Compose file docker-compose.yml to $COVER_REPORTS_HOME. Contact Diffblue Support if you don't have the download link.

  2. From the $COVER_REPORTS_HOME directory, start Cover Reports:

docker compose up -d
  1. Finally, open a browser on a client PC that has access to the Cover Reports server and navigate to the Cover Reports Home Page (<HOSTURL>:8080).

3. Create and upload a reports bundle

Use Cover CLI to create a coverage data file for your project - this is referred to as a "reports bundle". You can do this on your own project, or you can use the example PetClinic Spring project that's used as part of the Get started - Cover CLI topic.

Note that, to save you a little time, there's a demo project provided as part of Cover Reports so you can click Open Demo Project from the Reports splash screen and skip this Cover CLI step. If you or your organization have already used Cover Reports, this option won't be available.

cd demo-spring-petclinic
dcover create --coverage-reports

The optional arguments used with dcover create perform the following:

  • --coverage-reports is used create the coverage data files using Cover and JaCoCo.

  • --upload is used to define the URL to upload the reports bundle to - i.e. the URL for your Cover Reports server install. Note that HTTPS direct is currently not supported.

4. Visualize your data

Now the fun bit - taking a look at your coverage data. We won't cover the whole UI here, but here are a few basics to get you started:

  • Home page - list view: Click the Cover Reports logo (or the Home icon in the project path) to view your project list. Click a line item (project, sub-project, package, etc) to view the coverage data. Click the Delete icon to delete a project and all associated data (runs). Click the Overview and Map tabs from the home page to view data for your entire set of projects.

  • Menu - structure view: As you'd expect, your projects are organised and displayed in a standard tree structure and you can navigate through your projects, sub-projects, packages, classes, and methods as needed. The coverage data visible from the dashboards reflects the current selected component.

  • Dashboards - data view: Three main dashboards/tabs are available for data visualization (Overview, Map, and Coverage Detail). The Overview and Map tabs are available from the home page, and all three tabs are available as you navigate down into the structure of your individual projects.

  • Runs - versions: As you create and upload coverage data over time, use the Latest Run drop-down to select what data to view. Click the Delete icon for a run to delete the individual run and associated data.

  • Search: Use the search to find a project, package, or class across all of your projects.

Your project names are automatically calculated based on the Java project configuration. Report bundles are uploaded to a default Projects folder.

Next steps

Now you're up and running with Cover Reports, use Cover CLI to create reports bundles for your own projects and start to build your data sets over time. In general, Cover Reports is pretty straightforward to use, especially from a UI perspective, but check out the Cover Reports topic for more details on using Cover Reports.

Last updated