Diffblue Cover
Diffblue Cover is a tool that writes Java unit tests for you. It analyzes your code with AI-based symbolic execution, generates tests that exercise your methods, and runs inside IntelliJ, Maven, Gradle, Jenkins and GitHub Actions, saving developers hours of tedious test writing.
Quick Facts
| Developer | Diffblue Ltd. |
|---|---|
| First released | 2017 |
| Latest version | See official website |
| Language | Java |
| Platform | IntelliJ IDEA, Maven, Gradle, CLI and CI servers |
| License | Proprietary; free Community Edition for open source projects |
| Pricing | See official website |
What is Diffblue Cover?
Diffblue Cover is an AI-powered tool that writes unit tests for Java code automatically. It started as research at the University of Oxford, where the team built engines that use symbolic execution to reason about what a piece of code should do, and Diffblue was spun out in 2017 to turn that research into a product.
You point Cover at your Java project and it generates tests that call your methods, set up the right inputs, and assert on the behavior. The generated tests are real JUnit tests you can run, review and commit, so the tool does not just report coverage gaps, it fills them with actual code.
Cover integrates where Java developers already work: as an IntelliJ IDEA plugin, a Maven or Gradle build step, a command line tool, or a CI stage in Jenkins and GitHub Actions. That makes it practical to generate tests on every pull request, so coverage grows automatically instead of being a quarterly chore.
Key Features
- Automatic unit test generation for Java using AI and symbolic execution
- Generates meaningful assertions, not just coverage filler
- IntelliJ IDEA plugin for tests on demand inside the IDE
- Maven and Gradle integration for build-time generation
- CLI support for scripting and CI pipelines
- Works with JUnit 4 and JUnit 5, Mockito and other common libraries
- Support for Spring and enterprise Java codebases
- Free Community Edition for open source projects
How to get started
The easiest start is the IntelliJ plugin: install it, open a Java project with no tests, and let Cover generate tests for a class or a whole package. You review the generated tests in the IDE and add them to your repo.
For teams, the recommended flow is CI integration. Add the Cover Maven or Gradle plugin, and every build can generate and run tests for changed code, then fail the build if coverage drops. The official docs walk through each integration step by step.
- Install the Diffblue Cover plugin in IntelliJ IDEA
- Open a Java project and select the code you want covered
- Generate tests and review them in the IDE
- Add the Maven or Gradle plugin for build-time generation
- Set up a CI step so tests are generated on every pull request
Use cases
- Adding a first unit test suite to legacy Java code with zero coverage
- Enforcing coverage on every pull request without slowing developers down
- Building a safety net before refactoring risky code
- Onboarding new developers who need to understand existing behavior
- Open source projects that want free automated test generation
Pricing and licensing
Diffblue Cover is commercial software for companies, with licensing sold by the development team or per developer, and a free Community Edition that covers open source projects. Pricing details depend on the scale of your team and are available from Diffblue's sales team.
Because commercial pricing is quote-based, the official website is the place to check current terms.
Pros and cons
The appeal is obvious: it produces real, runnable tests for code that would otherwise go untested, and it does it fast enough to run on every commit. Teams with large legacy codebases see coverage climb without asking engineers to spend weeks writing boilerplate tests.
The limits are equally real. It is Java-only, the generated tests sometimes need human review to make assertions stricter, and it is a commercial product with a price tag. For Java shops it is a strong deal; for polyglot teams it covers only one language.
Alternatives
- EvoSuite: open-source automated test generation for Java
- Randoop: feedback-directed random testing for Java
- JUnit: the standard Java testing framework, hand-written
- Qodo: AI code testing assistant for multiple languages
- Testcontainers: integration testing for Java with real dependencies