What's New > Version 2020.05.a
Reuse of existing indexes
Release date: May 12, 2020
When running either DCover or the plugin on a project that has previously been analysed, the existing index will now be updated for any changed source files and reused, rather than generating a new index of the whole project from scratch.
Full Release Notes
Enhancements
-
CLI: Guidance improved for cases where many instances of
ClassNotFoundException
could be logged if libraries are excluded from runtime classpath. [Ref: TG-11754] -
CLI: Dcover will now provide a warning, and guidance, if an unsupported version of Maven, Gradle, Java or JUnit has been detected. [Ref: TG-11692]
-
When running dcover or plugin on a project that has previously been analysed, the existing index will now be updated for any changed source files and reused, rather than generating a new index of the whole project from scratch. [Ref: TG-11532]
-
CLI: Dcover is now able to generate a JSON report, using
--report
, to provide dcover performance information. [Ref: TG-11361] -
IntelliJ Plugin: JUnit 5 support has been added, allowing tests to be generated for projects which use it. [Ref: TG-11281]
-
CLI: Running test verification against a Gradle project will now only remove failing tests, previously all tests would be removed if any failed. [Ref: TG-11153]
Resolved Issues
-
CLI: Dcover may crash, reporting
java.lang.NoClassDefFoundError
, whilst analysing sub-modules. [Ref: TG-11734] -
CLI: ‘Unrecoverable runtime error’ shown if JDK used to compile the user-code is newer than the JVM being used by dcover. [Ref: TG-11694]
-
Tests are not created for classes whose static initializer depends on Spring, reporting
E006: Unable to load class
. [Ref: TG-11648] -
Tests are not created for Spring controller methods which take non-String arguments. [Ref: TG-11600]
-
CLI: No callable methods found when instance can only be created through factory method. [Ref: TG-11561]
-
IntelliJ Plugin: Suggested assertion inserted above a comment line even though the cursor was below it. [Ref: TG-11478]
-
CLI: Invalid options, in the location of package prefixes, are silently accepted and do not provoke an error. [Ref: TG-10951]
Known Issues
-
Wrong reason for not creating essential tests for methods in classes without accessible constructors. [Ref: TG-10794]
-
IntelliJ Plugin: cancelling the indexing job causes exception. [Ref: TG-11074]
-
CLI: Windows: creating
config.json
by outputting--example-config
as file causes exceptions. [Ref: TG-11198] -
CLI: Spring projects that use logback may turn off the console and log file output. [Ref: TG-11440]
-
CLI: Analyzing a project that opens lots of files may crash dcover. [Ref: TG-11455]
-
CLI:
clean --failing
may not remove all failing tests when tests are inter-dependent. [Ref: TG-11472] -
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] -
IntelliJ Plugin: Selecting ‘write tests’ on multiple classes, in quick succession, results in tests not being generated for some classes. [Ref: TG-11713]
-
IntelliJ Plugin: Not clicking “Suggest Assertions” for a long period (~1 hour) leads to user getting the message “Cannot generate assertions” for every subsequent assertion suggestion attempt. [Ref: TG-11817]
-
Tests are not generated for methods of Spring controllers that contain an autowired field. [Ref: TG-11835]
Dependencies for written tests
- JUnit: 4.7-5.5