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