2025-08-01

This release provides full support for IntelliJ 2025.2. Performance and stability are also improved. Additionally, test generation is enhanced for greater coverage of collections, code using final classes, and complex validation logic.

IDE & Framework Support

  • IntelliJ 2025.2 Support: Diffblue Cover is now fully compatible with the IntelliJ 2025.2 platform.

  • Immutables Library: Resolved an issue to ensure that Diffblue Cover now correctly writes tests for methods that use objects from the 'immutables' library.

Performance & Stability

  • Performance with Threads: Corrected a performance issue by ensuring user-created Java threads and Timers are properly shut down during analysis, preventing resource leaks and improving speed.

  • CLI Memory Checks: The CLI now checks for sufficient JVM heap space and provides a clear warning if memory is insufficient, preventing silent failures.

  • CLI Test Validation: Resolved an issue in Gradle projects using JUnit 5 where test validation could incorrectly remove entire test classes. Validation is now more precise and only removes failing tests as intended.

Improved Test Generation & Coverage

  • Collection & Map Fields: Test coverage is improved for methods that modify collection and map fields, such as those using add() or put() to populate data structures.

  • Final Classes: Diffblue Cover now writes tests for code that interacts with final classes by automatically generating the necessary mocks.

  • Validation Methods: Test writing for void validation methods has been enhanced. Cover now writes tests for the successful execution path in addition to the existing exception-throwing path.

Important Notices

  • Removal of IntelliJ 2024.3 Support: Support for the IntelliJ 2024.3 platform has ended. To use Diffblue Cover plugin version 2025.08.01 onwards, users must upgrade their IDE to IntelliJ version 2025.1 or 2025.2.

  • IntelliJ Plugin: Removal of Support for JUnit 5.0-5.2: Following the deprecation in 2025.07.02, support for JUnit 5.0.x, 5.1.x, and 5.2.x has now been removed from the IntelliJ plugin. To ensure compatibility with this release and future versions, projects using these older versions must be upgraded to 5.3.0 or higher. This change does not affect projects using JUnit 4 or TestNG, nor does it impact the Diffblue Cover CLI.

Forthcoming Changes

  • Improved Test Readability: In an upcoming release, Cover will instantiate data-holding classes (e.g., JPA entities) directly instead of using mocks where possible. While this produces higher quality tests, please be aware that existing tests for affected classes will change, leading to noticeable changes in your test suite upon update.

Enhancements

  • CLI: To prevent silent failures from low memory, Diffblue Cover now checks for sufficient JVM heap space earlier. Users now receive a clear warning with the required minimum value if memory is insufficient, improving diagnostic feedback. [Ref: TG-23607]

  • Diffblue Cover now generates tests with improved coverage for methods that modify collection and map fields. This enhances test creation for classes that use methods like add() or put() to populate internal data structures. [Ref: TG-23534]

  • Plugin: Diffblue Cover now provides full support for the IntelliJ 2025.2 platform, ensuring compatibility with the latest IDE features. Support for IntelliJ 2024.3 has been discontinued; an upgrade to 2025.1 or 2025.2 is required for plugin use. [Ref: TG-22565] Docs

  • Diffblue Cover now writes tests for code interacting with final classes by generating the necessary mocks, increasing the scope of testable code. [Ref: TG-22046]

Resolved Issues

  • Resolved an issue where Diffblue Cover would not use the generated builder for classes annotated with @Immutable.Value from the 'immutables' library. Diffblue Cover now correctly writes tests for methods that use Immutable objects. [Ref: TG-23586]

  • Resolved an issue where Diffblue Cover would only write tests for void validation methods that throw exceptions. Diffblue Cover now also writes tests for the successful execution path of these methods, ensuring validation logic is more thoroughly tested. [Ref: TG-23584]

  • CLI: Resolved an issue where Diffblue Cover could exit prematurely or incorrectly remove entire test classes during test validation in Gradle projects using JUnit 5. Validation is now more precise, removing only failing tests as intended. [Ref: TG-23410]

  • Resolved a performance issue during test generation for code that creates Java threads or Timers. Diffblue Cover now correctly shuts down these user-created threads, preventing resource leaks and improving analysis speed. [Ref: TG-23384]

Known Issues

  • Plugin: Diffblue Cover incorrectly displays a menu option to write tests for existing test files. [Ref: TG-17163]

  • Cover supports Open JDK and Oracle JDK; results with other JDKs may differ due to the variability in their implementations of Java. [Ref: TG-19345]

  • Cover may encounter an F009 (Internal error) caused by a ClassCircularityError involving org/mockito/configuration/MockitoConfiguration when writing tests with Mockito 5. To avoid this, use an earlier version of Mockito. Downgrading to Mockito 4.x is the recommended workaround. [Ref: TG-19610]

  • Reports: Cover only counts Java code towards the total line count metrics. Kotlin code is not currently included. [Ref: TG-22088]

  • Reports: Total lines of code metric can incorrectly count a multi-line comment at the end of a line of code, resulting in fewer than expected lines counted. [Ref: TG-22089]

  • Reports: Following an upgrade, the 'Total Lines of Code' card may show 0 until a new reports bundle has been uploaded. [Ref: TG-22094]

  • In some circumstances, Cover may write more simplistic tests with less meaningful assertions when Spring Boot dependency injection is disabled. [Ref: TG-22102]

  • In some circumstances, Cover will still write Spring Boot tests when Spring Boot dependency injection is disabled. [Ref: TG-22103]

  • Cover may write failing TestNG tests when Spring Boot dependency injection is disabled. [Ref: TG-22107]

  • Plugin: On some displays, the Test Review subsection title "Tests for review" can be malformed. [Ref: TG-22805]

  • Diffblue Cover does not currently support test creation for projects using Java 24; please use JDK 21 or lower. [Ref: TG-22920]

Last updated

Was this helpful?