2025-02-02

This release of Cover enhances flexibility, security, and reliability with several key improvements:

  • Ant Build System Support: Cover CLI now supports Ant projects. Learn more.

  • Excluding Trivial Methods: A new CLI option allows users to exclude trivial methods from test generation.

  • SSO Integration for Cover Reports: Enterprise users can now integrate with existing SSO providers for authentication, eliminating the need for a proxy server. Learn more.

  • Spring Controller Improvements: Test generation now produces more concise annotations and better handles @ControllerAdvice classes.

  • Bug Fixes: This release resolves issues related to:

    • Gradle compilation parsing

    • Automatic Spotless formatting

    • Module path errors in multi-module projects

Important Notices

Test Review Plugin: Enabled by Default (from 2025.03.01)

Starting with the next release, the Test Review feature in the IntelliJ Plugin will be enabled by default.

  • Tests must be accepted manually before appearing in your codebase.

  • You can edit or reject tests as needed.

  • If you haven’t tried it yet, enable it now from the IntelliJ Plugin's Diffblue Settings menu.

Read the Test Review documentation.

CLI: Deprecation of Build System Customization Options

As of this release, the following CLI options have been deprecated:

  • --build-system-configuration

  • --ignore-stylechecks

  • --jacoco-command-diffblue

  • --jacoco-command-manual

  • --jacoco-xml-test-report

  • --preflight-test-command

  • --preflight-test-timeout

  • --validation-timeout

  • --validation-command

Migrating to a DiffblueBuild.yaml file is recommended for build system integration. See the configuration guide for more details.

Enhancements

  • CLI: Cover now includes an --exclude-trivial-methods flag for CLI users to opt-out of testing trivial methods like getters and setters. This provides more control over test generation, helping avoid unnecessary tests for simple methods. [Ref: TG-22709]

  • CLI: Build system customization options (e.g., --build-system-configuration) are now deprecated. Configure Cover using a DiffblueBuild.yaml file for improved build system integration. [Ref: TG-22640]

  • CLI: Cover now supports projects which use Ant build systems. [Ref: TG-22631]

  • CLI: Diffblue now offers Ant build system tasks via our public Maven repository, simplifying integration for Ant projects by enabling the use of a Maven dependency instead of specifying an absolute JAR file path. [Ref: TG-22611]

  • CLI: Cover's environment and test creation summaries in log files now include the project module name, improving clarity and searchability. [Ref: TG-22581]

  • Cover now generates @MethodsUnderTests annotations more concisely using available imports, enhancing test code readability and simplifying maintainability. [Ref: TG-22558]

  • Reports: Enterprise users can now integrate their existing SSO providers, such as Keycloak, for secure authentication and role-based access control. This enhances data security, streamlines user management, and ensures compliance with enterprise policies. [Ref: TG-22509]

  • Cover now more accurately identifies essential mock dependencies in Spring applications, resulting in tests with reduced unused mocking and improved readability. [Ref: TG-22411]

  • Cover now generates better tests for Spring Controllers. Cover considers @ControllerAdvice classes when writing tests, leading to more complete and accurate results for applications using Spring's exception handling. [Ref: TG-20569]

Resolved Issues

  • Resolved an issue which caused Cover to incorrectly parse compilation failures on Gradle projects when using Java 17.0.14+ and newer versions. [Ref: TG-22677]

  • Resolved an issue where Cover did not automatically apply Spotless, when available, for test code formatting in Gradle builds. [Ref: TG-22658]

  • Resolved an issue where Cover failed to run on certain multi-module Gradle projects due to module path errors. This caused Failed to run a simple example test (E011) warnings during execution. [Ref: TG-22592]

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]

Last updated

Was this helpful?