2025-03-02

This release of Cover focuses on enhanced reporting capabilities, improved test generation logic, and usability enhancements to the plugin and CLI.

  • Reports API: Cover Reports now features a REST API for accessing coverage data, enabling integration with existing tools. See the export API documentation for more details.

  • Jersey Support: Cover now supports writing tests for code which uses the Jersey RESTful Web Services library, expanding test generation capabilities to a wider range of applications.

  • Test Generation Logic: Cover now includes tests created without dependency injection when they demonstrably increase code coverage. It also prioritizes constructor usage over setters for more natural test code.

  • Plugin UI: Cover now features a redesigned tool panel for the test preparation phase. The updated interface provides clearer insights into preparation steps, including error detection and licensing checks.

Important Notices

CLI: Deprecation of Legacy Cover Reports Authentication Parameters

As of the 2025.03.02 release, the following authentication options have been marked as deprecated:

  • reports.requiredusername

  • reports.requiredpassword

Migrating to the new authentication parameters is required to avoid disruption to reporting pipelines. Use reports.users.upload.username and reports.users.upload.password instead.

Enhancements

  • Reports: Cover Reports now uses reports.users.upload.username & reports.users.upload.password for upload authentication. Existing reports.requiredusername & reports.requiredpassword will be removed in a future release. [Ref: TG-22917]

  • CLI: Cover now logs details when @InTestsMock and similar mocking advice is applied or cannot be applied. Logs include reasons such as missing frameworks or incompatible class types. [Ref: TG-22846]

  • CLI: Cover’s test generation process now includes tests created without dependency injection. These tests are added only when they demonstrably increase code coverage compared to dependency injection-based tests. [Ref: TG-22842]

  • Plugin: Diffblue Cover now includes an 'Activate License' option in the Status Bar widget and on the 'Diffblue Cover License' details screen. This provides easier access to change license keys. [Ref: TG-22841]

  • Cover now supports Mockito 5.16.0. [Ref: TG-22836]

  • Plugin: Diffblue Cover now features a redesigned tool panel for the test preparation phase. The updated interface provides clearer insights into preparation steps, including error detection and licensing checks. [Ref: TG-22776]

  • Reports: Cover Reports now features a REST API for accessing coverage data. System administrators can leverage this API to integrate Reports with existing tools. [Ref: TG-22699]

  • CLI: Cover now removes MaintainedByDiffblue tests failing validation. Previously, only tests in DiffblueTest classes could be removed during validation. Now failing tagged tests in classes that match the --class-name-template will also be removed. [Ref: TG-22604]

  • Cover now supports writing tests for code which uses the Jersey RESTful Web Services library. [Ref: TG-22322]

  • CLI & Plugin: Cover now prioritizes constructor usage over setters when generating tests. This results in more natural and representative test code. [Ref: TG-18736]

Resolved Issues

  • Resolved an issue which, in some circumstances, caused Cover to write tests with when() Mockito stubs which were never used. [Ref: TG-22852]

  • Resolved an issue which, in some circumstances, caused Cover to report Cover Annotations as 'Not Detected' during environment checks. [Ref: TG-22840]

  • Reports: Resolved an issue which, in some circumstances, could have caused an inconsistent Diffblue test count due to unexpected surefire report files. [Ref: TG-22740]

Known Issues

  • Plugin: Cover incorrectly provides a menu option to write tests for a test file. [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]

  • 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]

  • When using Gradle, Junit 5 tests produced with the @DisplayName annotation may cause all the Diffblue tests to be removed from the class in validation [Ref: TG-22784]

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

  • Cover does not currently support Java 24. Please switch your JDK version to 21 or lower. [Ref: TG-22920]

Last updated

Was this helpful?