2022-02-02

Using Diffblue Cover with SonarQube effectively

SonarQube is a tool to enforce coding practices to help developers write better code. Some of its rules have the purpose to detect common mistakes; others purely concern specific aspects of coding style. Some of the latter rules are a matter of taste and usually need to be tailored to the coding guidelines of a specific project. Using all rules may lead to lots of noisy warnings. We have seen that sometimes such warnings are triggered on tests created by Diffblue Cover. We are planning to provide an option to suppress these SonarQube warnings in the next release. Meanwhile, we have some suggestions for reducing the warnings given in the SonarQube output:

  • Turn off SonarQube analysis for all tests created by Diffblue Cover.

  • Use SonarQube’s fine-grained tuning options to turn on/off certain kinds of warnings.

Full details of these options are available in our documentation.

Updating Diffblue Cover in a CI Pipeline

We have now included information in our documentation on how to update your version of Cover in a CI Pipeline. This will keep your test quality to a high standard, and ensure that you benefit from the latest features.

Community Edition survey

This release, we are introducing a survey for our Community Edition IntelliJ plugin users. It's really important for us that you provide us feedback to improve our product - please do complete the survey. Thank you!

Developer Edition trial available

We are delighted to now offer a 14-day trial version of our Developer Edition, which includes the Diffblue Cover CLI, as part of our new licensing option. We're really excited that you can now "try before you buy"! To download your trial of Diffblue Cover Developer Edition, please click here. Full information on all our options is also available here.

How do I automatically maintain all of these tests?

Use Diffblue Cover on any CI platform to automatically update your unit tests and catch regressions for every commit - watch this video to learn more.

Enhancements

  • CLI: Cover now supports --patch-only on Windows. [Ref: TG-12634]

  • Cover now checks for necessary dependencies before writing repository tests instead of failing with R026 (Failed to create Spring context). [Ref: TG-16517]

  • Cover now writes tests containing assertEquals and assertNotEquals assertions, rather than assertTrue and assertFalse, where appropriate. [Ref: TG-16449]

  • CLI: Cover now supports automatic uploading of code coverage and test creation information to Cover Reports, for Maven projects with or without JaCoCo configuration, via the upload CLI option. [Ref: TG-16273]

Resolved Issues

  • Resolved an issue which caused Cover to not write tests for projects using early versions of Joda Time (0.x or 1.x). [Ref: TG-16570]

  • Resolved an issue which caused Cover to report duplicate E047 (Unsupported Java version) messages. [Ref: TG-16536]

  • IntelliJ PLugin: Resolved an issue which caused Cover to not report a warning when an SDK is not configured for the project. Cover now reports 'JDK for module not set: Cannot write tests please set a JDK for this module'. [Ref: TG-16531]

  • Resolved an issue which could cause Cover to write failing tests when asserting on toString. [Ref: TG-16487]

  • Resolved an issue which caused Cover to discard incomplete tests when the R031 (Method may be time-sensitive) output code was encountered. [Ref: TG-16477]

  • CLI: Resolved an issue which, on certain projects, caused Cover to take longer to execute and potentially hang during the analysis of certain classes. [Ref: TG-16471]

Known Issues

  • CLI: The command dcover clean --failing does not work on Gradle projects. This command is now deprecated and dcover validate should be used instead. [Ref: TG-11707]

  • IntelliJ Plugin: Diffblue Cover was unable to create an index error may appear if switching projects happens before Cover has finished indexing. [Ref: TG-13772]

Last updated