Specs & Reqs
Environment prerequisites, plus system specifications and requirements
Diffblue Cover requires that the system environment (hardware, operating system, network connectivity, Java installation) as well as the project environment (build tooling, dependencies, presence of artifacts, existing unit tests) meet the minimum requirements as outlined below. Diffblue Cover will perform an environment check before analysis begins to ensure that the requirements are met.
Cover CLI provides a
--preflightoption (see Preflight checks) which can be used to check the status of the prerequisites without performing the project analysis. This option can also be run without a license key.
- 16 GB RAM, 5 GB minimum available disk space, 4 CPU cores
- 8GB Java heap allocated
- TCP connection *
- Windows 11 Pro, Windows 10 Enterprise, Ubuntu 18.04, RHEL 7.7, macOS 10.15
- The latest or n-1 64-bit sub-version of Java 8 (8u361 & 8u351), Java 11 (11.0.18 & 11.0.17) or Java 17 (17.0.6 & 17.0.5)
- For Maven projects: Maven version 3.2.5+
- For Ant projects: access to the complete Ant classpath
- JUnit 4.7 - 4.13, JUnit 5.0 - 5.10.0, or TestNG 6.0.1 - 7.8.
- For Java 8 projects: Mockito 1.9.5 - 4.11.0
- For Java 11 projects: Mockito 2.22.0 - 5.4.0
- For Java 17 projects: Mockito 4.1.0 - 5.4.0
- All necessary tooling to build the project
- The project must compile and run with no failing unit tests
- Access to a dependency repository to download transient dependencies
- Access to the Diffblue licensing server for remote license check
* Cover requires the use of an analysis service that communicates with Cover Plugin and Cover CLI via TCP connections on localhost. In particular, Cover must be able to start up the analysis service and open a bi-directional TCP connection between the frontend and the service.
- IntelliJ Community or Ultimate version 2023.2 and 2023.1
- One instance of the Diffblue Cover Plugin for IntelliJ, per project
- A minimum of 4GB memory allocated to IntelliJ
- Diffblue Cover CLI
- JaCoCo 0.8.2+
- 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:
- Docker Engine 20.10.17
- Docker Compose v2.10.2
- Network connectivity between the server and client workstations
- Internet connection if using Docker Hub for install
Spring and Spring Boot versions are required to be compatible with your version of Java, as well as each other. Diffblue Cover supports the following:
- Java 8 Projects: Spring Boot 1.3.3 to 2.7.x, Spring Core 4.1.1 to 5.3.x
- Java 11 Projects: Spring Boot 2.1.0 to 2.7.x, Spring Core 5.1.0 to 5.3.x
- Java 17 Projects: Spring Boot 2.4.0 to 3.1.x, Spring Core 5.3.1 to 6.0.x
Dependencies required for running tests should be in the project configuration. Additional libraries may also be necessary depending on the project under test.
Other dependencies listed below may be needed, if they are transitive dependencies of your project. If one of these dependencies is required but missing, tests will be generated for some classes but not others. A message will appear in the console output indicating a missing dependency.
- Use the
spring-boot-starter-testdependency to add Hamcrest.
org.hamcrest:hamcrest. The version of Hamcrest needs to match the relevant version of
spring-boot-test. For example, if the user has
spring-boot-test:2.4.6, they should look at the dependency list: Maven Repository: org.springframework.boot spring-boot-starter-test 2.4.6. This shows that the matching version is Hamcrest 2.2 (you may have to scroll).
Cover Plugin for IntelliJ supports the latest and the previous versions of IntelliJ.
Note that only 64 bit versions of Java are supported.
* Note that Diffblue Cover does not use Jakarta EE application context for tests, all injected dependencies will be mocked.
Spring and Spring Boot versions are required to be compatible with your version of Java, as well as each other.
Diffblue Cover supports JUnit 4, from JUnit 4.7 to JUnit 4.13. In the CLI, you can force the usage of JUnit 4 by passing the
--testing-framework=junit-4option. In the plugin, you can select
JUnit 4as a testing framework in the settings dialog.
Diffblue Cover supports JUnit Jupiter, from JUnit Jupiter 5.0 to JUnit Jupiter 5.10.0. In the CLI, you can force the usage of JUnit 5 by passing the
--testing-framework=junit-5option. In the plugin, you can select
JUnit 5as a testing framework in the settings dialog.
You may need some specific set-up for your build system to work properly with JUnit 5, in particular if you wish to use Diffblue Cover's built-in test validation. See Building a Gradle project or Building a Maven project for details.
Diffblue Cover supports TestNG versions 6 and 7. In the CLI, you can force the usage of TestNG by passing the
--testing-framework=testngoption. In the plugin, you can select
TestNGas a testing framework in the settings dialog.
* For Cover Plugin, this feature is not available in the Community Edition.
** For Cover Plugin, this feature is only available in the Enterprise Edition.