What's New > Version 2020.06.b

Increased Spring support and purging of user threads

Release date: Jun 22, 2020

Cover now supports smart mocking of autowired beans, resulting in increased Spring code coverage. Cover is now also able to purge user threads during ‘Essential Test’ generation, reducing the risk of exhausting JVM and/or system resources.


Full Release Notes

Enhancements

  • CLI: Cover is now able to purge user threads during ‘Essential Test’ generation, reducing the risk of exhausting JVM and/or system resources. [Ref: TG-11933]

  • CLI: Tests are no longer generated for constructors which only assign their arguments to fields and do not use @Autowired. [Ref: TG-11779]

  • IntelliJ Plugin: Cover now supports IntelliJ IDEA Community Edition 2020.1 and IntelliJ IDEA Ultimate 2020.1. [Ref: TG-11639]

  • Amazon S3 mocking support added for calls to GetObject and PutObject. [Ref: TG-11596]

  • Increased Spring support. Cover now supports smart mocking of autowired beans, resulting in increased Spring code coverage. [Ref: TG-11346]

Resolved Issues

  • CLI: /tmp/diffblue/log/dcover.stderr.log can contain stderr output from multiple runs of Cover. Log files should be generated so that one log file corresponds to a single run of Cover. [Ref: TG-12099]

  • CLI: Some INFO log level annotations use inconsistent styling (lighter magenta and non-bold). [Ref: TG-12067]

  • CLI: --report option places JSON output in .diffblue directory rather than the current working directory. [Ref: TG-12040]

  • CLI: When ‘test verification’ times out, an unnecessary empty line is logged to the console. [Ref: TG-12039]

  • CLI: Magenta coloured output, such as the INFO log level annotation, is difficult to read when using Microsoft’s default Powershell colour scheme. [Ref: TG-12004]

  • IntelliJ Plugin: In some scenarios, when multimodule projects are being analysed, the plugin may create tests which are different to those generated via the CLI. [Ref: TG-11946]

  • CLI: dump-index fails to dump index, reporting Dumping index failed: Can't create a store in read-only transaction. [Ref: TG-11731]

  • CLI: Cover does not remove temporary files it creates in /tmp. [Ref: TG-11312]

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: Analyzing a project that opens lots of files may crash dcover. [Ref: TG-11455]

  • 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]

  • CLI: In some scenarios, Cover’s statistics, reported in the summary, may not add up to the total. [Ref: TG-11935]

  • 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