What's New > Version 2020.08.a

More Spring method tests, improved verification guidance

Release date: Aug 03, 2020

Improved messaging and guidance in test verification, and more tests for Spring methods requiring Repository mocking. A number of previous issues have also been resolved.


Full Release Notes

Enhancements

  • IntelliJ Plugin: Boilerplate tests are no longer created by default if Cover is unable to create a suitable test. Boilerplate fallback test creation can be configured via Cover plugin settings. [Ref: TG-12393]

  • CLI: Improved messaging and guidance shown during test verification. Specific guidance is provided for a wider range of issues which may be encountered. [Ref: TG-12277]

  • Cover creates more tests for Spring methods that require Repository mocking. [Ref: TG-12244]

Resolved Issues

  • CLI: Resolved an issue where Cover may terminate early and not provide further guidance when no Java source sets are available, for example, when using Palantir or similar plugins. [Ref: TG-12420]

  • IntelliJ Plugin: Resolved an issue where some hyperlinks in the plugin details page resolved to unavailable URLs. [Ref: TG-12385]

  • IntelliJ Plugin: Resolved an issue where an exception would be thrown if a test’s contents, but not the test itself, was deleted and ‘Write tests’ was clicked again. [Ref: TG-12337]

  • IntelliJ Plugin: Resolved an issue where, whilst analysing certain projects, without an SDK set, IntelliJ may throw an exception or Cover Plugin may get stuck ‘Preparing’. [Ref: TG-12331]

  • IntelliJ Plugin: Resolved an issue where analysis progress bar would show Completed before analysis was actually complete. [Ref: TG-12326]

  • IntelliJ Plugin: Improved messaging when new tests are unable to be combined with existing tests. [Ref: TG-12323]

  • CLI: Resolved an issue where dcover clean --failing would not detect, and remove, failing tests which have been manually edited. [Ref: TG-12241]

  • IntelliJ Plugin: Resolved an issue where, on macOS, if no module SDK/JDK has been specified, Cover would experience an error and terminate without creating tests or providing any guidance. [Ref: TG-12231]

  • CLI: Improved error messages and guidance when dependencies are missing. [Ref: TG-12101]

  • CLI: Removed superfluous output shown whilst using --example-config which, when piped into a file, would result in an invalid JSON configuration file. [Ref: TG-11948]

  • CLI: Example JSON configuration file previously set ‘testing framework’ to null. It now defaults to auto-detect. [Ref: TG-11474]

  • CLI: Resolved an issue where providing a JSON config, via --config, which contains delimited last array elements causes a crash. [Ref: TG-11367]

Known Issues

  • Wrong reason for not creating essential tests for methods in classes without accessible constructors. [Ref: TG-10794]

  • CLI: Windows: creating config.json by outputting --example-config as file causes exceptions. [Ref: TG-11198]

  • CLI: All tests may be discarded in test verification when using --config. [Ref: TG-11475]

  • CLI: dcover clean --working-directory throws an error if --test-output-dir is not provided. [Ref: TG-11665]

  • CLI: dcover fails to generate tests, reporting java.lang.OutOfMemoryError, when analysing projects which spawn a quantity of threads in excess of the operating system’s process thread limit. [Ref: TG-11680]

  • CLI: dcover clean --failing fails when used with a Gradle project. [Ref: TG-11707]

  • Tests are not generated for methods of Spring controllers that contain an autowired field. [Ref: TG-11835]

  • IntelliJ Plugin: Selecting ‘Write tests’ across multiple modules, in quick succession, can cause the plugin to crash with a NullPointerException. [Ref: TG-12022]

  • CLI: Test verification may fail on a Gradle project due to an incompatibility between Gradle and Cover. If you encounter this issue, run with --skip-test-verification. [Ref: TG-12045]

Dependencies for written tests

  • JUnit: 4.7-5.6