2023-03-01

Diffblue Cover IntelliJ Plugin can now fix common missing and mismatched dependency issues with one click

Java projects can contain many different versions of dependencies; some of which are dependent on each other. Ensuring that all of the environmental conditions are compatible is a time consuming job; and if left incorrect can lead to spurious behaviours in your application. Furthermore, to successfully write unit tests, Cover requires tests dependencies to be available at the correct versions.

In this release we have redesigned the Project Environment Health Check to clearly show plugin dependency issues in your project (such as mismatched versions of Spring dependencies) and in many cases automatically fix the issue for you by adding or upgrading dependencies. If Cover finds any issues it will clearly indicate with a X or ! next to the dependency and provide you with a "Fix issue..." button. If multiple issues are detected Cover will provide a "Fix all issues..." button to fix all of the issues that it has found.

Enhancements

  • Cover now provides a clearer message when invalid syntax is used to define a factory rule for customizing test inputs using in DiffblueRules.yml. [Ref: TG-18745]

  • Cover now reports R033 (Missing Spring properties), with information to help resolve the problem, when a Spring context can't be built due to @Value annotation evaluation issues. [Ref: TG-18405]

  • IntelliJ Plugin: Cover now provides a 'Project Environment Health Check' panel which identifies issues which may prevent tests from being written. [Ref: TG-14859]

  • IntelliJ Plugin: Cover is now able to fix E086 (Specified test framework not available), on demand, via the 'Project Environment Health Check' panel. [Ref: TG-18462]

  • IntelliJ Plugin: Cover's 'Fix issue' prompts, to automatically fix common project configuration problems, has now been moved to the 'Project Environment Health Check' panel. [Ref: TG-18449]

Resolved Issues

  • Resolved an issue which, in some circumstances, caused Cover to create time-sensitive assertions which pass on the day the test was written, but fail afterwards. [Ref: TG-18709]

  • Resolved an issue which, depending on javac compile options, could cause Cover to incorrectly treat some methods as trivial. [Ref: TG-18695]

  • Resolved various issues in the Spring-related environment checks to cover more incompatibilities and to give better recommendations. [Ref: TG-18052]

  • Resolved an issue which caused Cover to not report E052 (Missing dependency) when Spring Test or Spring Boot Test dependencies are required but missing. [Ref: TG-18046]

  • Resolved an issue which caused JSON serialization issues to be reported as R024. These are now reported as F020 (Failed to parse internal json message). [Ref: TG-17210]

  • CLI: Resolved an issue which caused Cover to recommend using dcover create when encountering an E005 (Parent module without classes) even if the E005 was encountered with a different subcommand. [Ref: TG-18702]

Known Issues

  • Cover may produce tests for JUnit 4.10 and lower that do not compile due to the use of assertNotEquals. [Ref: TG-17605]

  • Reports: Firefox users may encounter It seems like we encountered an error. Try refreshing this page or contact your administrator. while loading the Coverage Reports tab. [Ref: TG-18257]

  • IntelliJ Plugin: Upgrading to IntelliJ IDEA 2022.3 may, in some circumstances, cause existing run configurations to no longer produce tests. Removing any run configurations for that entity and writing tests again will recreate a working run configuration. [Ref: TG-18282]

Last updated