2022.10
Our first stable release of UnitTestBot is now available. It introduces ultimate quality improvements and offers new features to make automated test generation more powerful and versatile.
Check what's new in UnitTestBot:
- Support for the latest IntelliJ IDEA 2022.2 (JRE 17)
- UI/UX improvements
- Sandboxing executions of a suspicious code
- Support for nested classes, hidden fields and queues
- Fuzzing: generating tests for Generics and Date classes, support for methods with no parameters and fields with public setters
- Parameterized tests improvements
- Ability to create and run tests at once
- Custom UnitTestBot tags in Javadoc comments
- UtUtils class incapsulating test util methods
- Bug fixes
- User guide and design docs
Try out the release version and give us feedback.
If you have questions, please refer to our user guide.
What's Changed
- Fix searching of modifiers field for JDK 8-17 by @sergeypospelov in #408
- Support -P parameters in the utbot-gradle by @ideaseeker in #377
- Added ForceStaticMockListener to run "configure mockito-inline" action. by @nikitavlaev in #438
- Fixed NPE for processing static field as first statement in MUT by @Damtev in #433
- Disabled NPE checks for non-public library fields by default by @Damtev in #353
- Removed always used coverage-based minimization strategy for plugin by @Damtev in #450
- Minimize exceptions in signature by @sofurihafe in #418
- Extract Traverser from UtBotSymbolicEngine by @sergeypospelov in #307
- Add summary tests for ListWrapperReturnsVoidExample by @onewhl in #444
- Support startColumn field in the SARIF report by @ideaseeker in #454
- Remove duplicates in SARIF report by @ideaseeker in #474
- Minimize UtExecution number produced by fuzzing and collect coverage statistics by @Markoutte in #465
- Optimized dependencies by @Damtev in #480
- Disable action in editor for the file located in test source root by @EgorkaKulikov in #478
- Fix the way of setting static final fields by @sergeypospelov in #466
- assertArrayEquals overload is not found, tests doesn't compile #135 by @Vassiliy-Kudryashov in #464
- Empty tooltips are shown on Java plugin popup #420 by @Vassiliy-Kudryashov in #479
- Prepare plugin for 2022.7-beta release #441 by @Vassiliy-Kudryashov in #442
- Test generation is enabled for interfaces via shortcut and menu actio… by @Vassiliy-Kudryashov in #487
- Use ClassId name in prettifiedName if canonical name is null by @dtim in #484
- UI. IDEA plugin dialog. Test framework is reset to JUnit5 on selectin… by @Vassiliy-Kudryashov in #489
- Show exception stack trace if it happens in user code #368 by @sofurihafe in #477
- Make specify destination package option invisible #488 by @EgorkaKulikov in #495
- Fuzzer should change objects with its public setters by @Markoutte in #439
- Turn of fuzzing for AbstractModelBasedTest.kt by @Markoutte in #506
- Improve code generation pipeline by @EgorkaKulikov in #455
- Add the field testPrivateMethods in utbot-gradle by @ideaseeker in #483
- Fix incomplete results in the SARIF report by @ideaseeker in #471
- Add sarif results minimization #490 by @ideaseeker in #498
- Default value of codegen language and test framework is improved in UI #499 #500 by @EgorkaKulikov in #507
- Wrong wrapper for valueOf in parametrized tests #512 by @sofurihafe in #513
- Improve overloadings check in generated code #370 by @Vassiliy-Kudryashov in #503
- Create symbolic link by @victoriafomina in #502
- Update symbolic link by @victoriafomina in #521
- Generate test by fuzzing for methods with no parameters #511 by @Markoutte in #515
- Rename UtTestCase #519 by @sergeypospelov in #517
- Change private expectedResult type to Object in generated parametrized tests #528 by @sofurihafe in #529
- Enable Java assertions in framework integration tests by @dtim in #539
- Test report reworked (#522) by @nikitavlaev in #523
- Provide references to invoked methods in summary by @onewhl in #476
- Fix possible NPE for package name in rarely cases by @Markoutte in #544
- Capitalize method names properly by @onewhl in #504
- Improve plugin behavior classes/packages with no methods #516 by @volivan239 in #533
- Disabled tests for autogenerated functions #457 by @volivan239 in #505
- Better PR description by @denis-fokin in #486
- Removed external library and added clustering algorithm by @amandelpie in #532
- Refactor TestCaseGenerator and CodeGenerator and their usages #508 by @EgorkaKulikov in #540
- Test report for multiple classes by @nikitavlaev in #553
- Try another approach to mark hanging generated tests #371 by @Vassiliy-Kudryashov in #554
- Stricter check for enum classes in EnumModelProvider #558 by @dtim in #559
- Required libraries can be installed silently #492 by @Vassiliy-Kudryashov in #494
- Follow-up fix for 0c84e2f by @nikitavlaev in #557
- Implement new approach to create variables in parametrized tests by @EgorkaKulikov in #547
- Add an option to control fuzzing #451 by @Markoutte in #552
- Added pre-condition for non-empty paths in the ExecutionMetric to avoid unclear NPE #267 by @amandelpie in #567
- Already created test source root is not found in Idea project #497 by @Vassiliy-Kudryashov in #568
- Optimized module dependencies by @Damtev in #569
- Fuzzing is not stopped on timeout when symbolic execution is excluded #570 by @Markoutte in #574
- Revert missed changes for default values in UI by @EgorkaKulikov in #575
- Manual checklist template: check plugin size by @alisevych in #362
- Remove obsolete fuzzing code and update readme.md #467 by @Markoutte in #530
- Fixed the weird logic in the of error messages in SummaryTestCaseGeneratorTest #383 by @amandelpie in #572
- Improve processing CgNotNullAssertion in deepEquals by @sofurihafe in #582
- Parametrized test generation in Uber tests #541 by @sofurihafe in #573
- Added an approach to differ tests produced by Fuzzer and SymbolicExecutor #581 by @amandelpie in #583
- UI. Gradle project. Test sources root can be located anywhere #549 by @Vassiliy-Kudryashov in #577
- Fix expected number of generated methods counter #589 by @sofurihafe in #590
- Naming conventions added by @olganaumenko in #564
- Added links to utbot.org and JB Marketplace by @olganaumenko in #514
- Added a few tests to check generated clustering comments #384 by @amandelpie in #595
- IndexNotReadyException thrown in IDEA with installed UnitTestBot plug… by @Vassiliy-Kudryashov in #586
- Overflow in fuzzing #588 by @Markoutte in #604
- Make the
peek
method behaviour in the path selector deterministic #598 by @CaelmBleidd in #600 - Skip test generation for abstract methods #550 by @volivan239 in #556
- Generate parametrized test for methods without force mocking in Uber and sample tests #591 #596 by @sofurihafe in #608
- "State is null" error fix for parametrized test generation by @sofurihafe in #614
- Refactor code related to block construction by @ArsenHD in #571
- An attempt to avoid UtMethod in codegen by @EgorkaKulikov in #602
- Change type of 'actual' variable by @ArsenHD in #631
- Support parametrized test generation for constructors, even with parameters by @sofurihafe in #637
- Stacktraces in comments should be escaped #609 by @Vassiliy-Kudryashov in #638
- IDEA intention actions could help us with readability of generated co… by @Vassiliy-Kudryashov in #615
- Generate DisplayName annotation only for JUnit 5 #576 by @onewhl in #624
- Fixed missing support of manual UtSettings update by @Damtev in #654
- Fix engine to properly handle hidden fields #647 by @volivan239 in #627
- Replace Class<*> with ClassId in the CodeGenerator constructor by @EgorkaKulikov in #659
- Generate separated parametrized tests when we have different result types by @sofurihafe in #652
- Test generation fails if any unexpected exception occurs for a single method #661 by @Markoutte in #662
- Make UtEnumConstModel and UtClassRefModel reference models #414 by @dtim in #611
- Fuzzer fails with IllegalStateException #655 by @Markoutte in #663
- Add statics support in parametrized tests generation #612 #672 by @sofurihafe in #671
- Ability to create and run tests at once #156 by @Vassiliy-Kudryashov in #670
- Vassiliy kudryashov/651 write access exception during new sarif file generation by @Vassiliy-Kudryashov in #674
- Enlarge the set of cases when we try to create parametrized tests by @EgorkaKulikov in #678
- Timeout spinner should apply current value #675 by @Vassiliy-Kudryashov in #676
- NoSuchMethodError is thrown for Generate & Run action #679 by @Vassiliy-Kudryashov in #681
- Show error window if no test source root were found (#657) by @nikitavlaev in #680
- Summaries for tests generated by fuzzer are generated in the summary module #597 by @amandelpie in #599
- Remove
CLI: publish image
workflow by @victoriafomina in #687 - Android Studio fixes (#634, #635) by @nikitavlaev in #639
- Test generation details are not accessible as Event Log tool window w… by @Vassiliy-Kudryashov in #688
- Improve exception rendering in parametrized tests by @EgorkaKulikov in #690
- Fix empty true branch & correct generic execution selection logic in parametrized test generation #683 by @sofurihafe in #682
- java.net.URISyntaxException: Illegal character in path #587 by @Vassiliy-Kudryashov in #702
- Add new test for deepequals on object with nullable reference fields #696 by @sofurihafe in #698
- Fuzzing fails in concrete execution sometimes #706 by @Markoutte in #708
- Explicitly set the child process working directory if we run the plugin #694 by @sergeypospelov in #695
- Fix codegen to generate tests for nested classes into nested testclasses #560 by @volivan239 in #665
- Prohibit to set static fields from library classes #697 by @sergeypospelov in #699
- Updated Readme content by @olganaumenko in #685
- Fix direct assigning of fields with private type #731 by @volivan239 in #735
- Add unit tests for builders #543 by @onewhl in #734
- Fix the child process debug commands order #736 by @sergeypospelov in #737
- IntelliJ plugin, Gradle, Kotlin, Java version upgrade by @denis-fokin in #429
- Disable JVM option for Java metrics by @victoriafomina in #751
- Dependency from utbot-cli to utbot-summary by @denis-fokin in #752
- corrected ClassId.isAccessibleFrom behavior on arrays #743 by @volivan239 in #744
- Add SecurityManager support to block suspicious code #622 by @Markoutte in #625
- UI. Gradle project. Suggest all Test sources roots for test generatio… by @Vassiliy-Kudryashov in #705
- Added the ClassId for ParametrizedType by @EgorkaKulikov in #766
- Follow up fix for PR-705 by @EgorkaKulikov in #776
- Mutate values to improve code coverage #213 by @Markoutte in #713
- passing all secrets into reusable workflow by @bissquit in #771
- Fix duplication of nested testclasses #779 by @volivan239 in #780
- Enables utbot-analytics module in utbot-intellij module by @amandelpie in #733
- Introduce custom JavaDoc tags #565 by @onewhl in #585
- Don't run tests when publishing plugin and CLI by @victoriafomina in #784
- Add support for nullable fields in deep equals by @sofurihafe in #768
- Updated gradle configuration by @Markoutte in #764
- Use regex for generating string when regex pattern is found #778 by @Markoutte in #793
- Cannot find utbot-fuzzing.jar fix by @Markoutte in #795
- Fix CLI build without tests by @Markoutte in #799
- Minor refactoring in SimpleCommentBuildr and CustomJavaDocCommentBuilder by @onewhl in #788
- Older versions of IDE support by @denis-fokin in #798
- Optimize agents using by @victoriafomina in #806
- Fixes for analysis of reflection and Unsafe #721 by @dtim in #797
- DeepEquals: generate absent assertion by @sofurihafe in #813
- Night Statistics Monitoring by @SBOne-Kenobi in #701
- Fix 'Cannot expand zip as it does not exist' when build utbot-cli by @Markoutte in #816
- Rd-gen by @Domonion in #748
- Proper IntelliJ version constraints by @denis-fokin in #817
- Refactored scripts location by @amandelpie in #815
- Enhance fuzzing for arrays #738 by @volivan239 in #755
- Add support for nested classes to UI #649 by @volivan239 in #726
- Introduce utbot-framework-test project by @EgorkaKulikov in #810
- Java 8 RDgen fix by @Domonion in #824
- Add wrappers for queues #524 by @sergeypospelov in #822
- Cleanup build.gradle in utbot-samples by @EgorkaKulikov in #828
- Rd logs by @Domonion in #834
- Cg util class by @ArsenHD in #689
- Move the Torch wrapper to the separate module by @amandelpie in #821
- Inconsistent DisplayName is generated for a Collection used as the only parameter #684 by @Markoutte in #840
- Fixed some parts in renaming ML related stuff by @amandelpie in #839
- Make UtExecution abstract, introduce UtFailedExecution as its child by @dtim in #804
- Add back cross reference test by @sofurihafe in #846
- Add Junit5-params dependency for projects without it when needed #620 by @volivan239 in #829
- Fix soot initialization #849 by @sergeypospelov in #855
- Fix coverage calculation by @SBOne-Kenobi in #856
- Restructure gradle dependencies by @SBOne-Kenobi in #827
- Implicit unpermitted operations should be sandboxed #791 by @Markoutte in #838
- Manual testing checklist template update by @alisevych in #841
- Run monitoring manually by @SBOne-Kenobi in #860
- SysReq and minor updates to README added by @olganaumenko in #741
- Replace
disableSandbox
withuseSandbox
inUtSettings
by @dtim in #857 - Enable utbot-maven module #867 by @ideaseeker in #869
- Support hidden fields in code generation by @ArsenHD in #763
- Do not generate JavaDocs for empty comments #280 by @onewhl in #866
- Adds a cluster comment for tests produced by Smart Fuzzer by @amandelpie in #858
- UtMethod removal by @sergeypospelov in #862
- Sort dependencies in user build file by @EgorkaKulikov in #868
- Fix incorrect highlighting of the method call in sarif (#536) by @ideaseeker in #876
- Labels for templates: bug and enhancement by @alisevych in #889
- Fixed issue with uncompiled module utbot-analytics-torch by @amandelpie in #894
- Handle RecursionAssignment, SwitchCase, and CaughtException statement types in CustomJavaDocCommentBuilder by @onewhl in #888
- Concrete executor rd logs by @Domonion in #902
- Corrected synthetic FuzzedMethodDescription for fuzzing thisInstance #892 by @volivan239 in #897
- Fix fuzzing enum in recursion by @SBOne-Kenobi in #907
- UI action is disabled for several selected classes or packages #882 by @Vassiliy-Kudryashov in #896
- "Generate and Run" action doesn't initiate test run #709 by @Vassiliy-Kudryashov in #887
- fix git related issue #905 by @bissquit in #906
- Get static field concretly by @SBOne-Kenobi in #904
- No true branch test is generated for code with String.split(";\s") #885 by @Markoutte in #914
- Update Soot and choose an analyzable JRE #373 by @sergeypospelov in #890
- Move getting srcClassName inside ReadAction in plugin #729 by @volivan239 in #851
- Concrete executor logs by @Domonion in #921
- Fuzzing dates by @SBOne-Kenobi in #929
- Improve settings, part 1 by @EgorkaKulikov in #898
- jvm and container monitoring disabled by @bissquit in #927
- additional fix of checkout with custom commit sha by @bissquit in #931
- Get rid of "Android" plugin dependency #934 by @Vassiliy-Kudryashov in #935
- Support anonymous classes by @ArsenHD in #760
- Correct Parametrized tests checkbox functioning #933 by @Vassiliy-Kudryashov in #938
- Plugin UI. UnsupportedOperationException is thrown when new test sour… by @Vassiliy-Kudryashov in #939
- Contributing guide and related docs updated by @olganaumenko in #861
- Added simplification/rewriting for assumptions by @Damtev in #940
- Support lambda expressions by @ArsenHD in #825
- Migration ComboboxWithBrowseButton -> ComponentWithBrowseButton by @Vassiliy-Kudryashov in #953
- Add build number to the published plugin by @alisevych in #918
- Add an option to show library classes' graphs in visualization by @CaelmBleidd in #947
- Dockefile of CLI is based on Java 11 by @victoriafomina in #963
- Mark distinct test for Stream as slow by @Damtev in #967
- Add JavaDoc comment style setting #774 by @onewhl in #922
- Settings cannot be loaded because of NullPointerException #951 by @Vassiliy-Kudryashov in #952
- Fix CE by @sergeypospelov in #973
- Reduce concurrent jobs number for projects by @victoriafomina in #945
UtAssembleModel
refactor #812 by @sergeypospelov in #970- Added a clustering comments for the tests with empty path by @amandelpie in #969
- Vassiliy kudryashov/693 deprecated api usages in the plugin should be replaced with stable api calls by @Vassiliy-Kudryashov in #982
- Fix empty else-branch in parameterized test generation by @sofurihafe in #908
- Disable test generation for private nested classes in plugin #864 by @volivan239 in #865
- Fix for filtering anonymous function types by @Damtev in #984
- Publish utbot-rd on GitHub Packages by @victoriafomina in #993
- Switch to kts by @denis-fokin in #976
- Disabled concrete execution for lambda results by @Damtev in #989
- Fixed wrong targets for virtual invokes by @Damtev in #925
- Class not found fix #643 by @sergeypospelov in #996
- Disabled testPredicateNotExample by @Damtev in #1000
- Disable test generation for Kotlin getters/setters #911 by @volivan239 in #1003
- Support more ide versions by @denis-fokin in #995
- Disable
testIsValidUuid
as flaky by @dtim in #1005 - Check for ArrayStoreException on array update by @dtim in #971
- Fuzzer should generate tests for simple collection with generic types #875 by @Markoutte in #988
- "Test generation method" setting UI update #863 by @Markoutte in #1008
- Removed wrong formatting by @amandelpie in #1006
- Codegen unable to properly instantiate public inner classes #761 by @Markoutte in #1009
- Replace Kotlin getters/setters with property access in codegen #496 by @volivan239 in #1002
- Multiple values for custom javadoc tags by @onewhl in #987
- Use read action to access documents #850 by @ArsenHD in #979
- Primitive Stream wrappers (no laziness and source mutations support) by @Damtev in #871
- Avoid summary duplication #985 by @onewhl in #1015
- Fix bug in filtering Kotlin getters/setters in plugin by @volivan239 in #1026
New Contributors
- @sofurihafe made their first contribution in #418
- @olganaumenko made their first contribution in #564
- @ArsenHD made their first contribution in #571
Full Changelog: 2022.7-beta...2022.10
What's Changed
- Fix searching of modifiers field for JDK 8-17 by @sergeypospelov in #408
- Support -P parameters in the utbot-gradle by @ideaseeker in #377
- Added ForceStaticMockListener to run "configure mockito-inline" action. by @nikitavlaev in #438
- Fixed NPE for processing static field as first statement in MUT by @Damtev in #433
- Disabled NPE checks for non-public library fields by default by @Damtev in #353
- Removed always used coverage-based minimization strategy for plugin by @Damtev in #450
- Minimize exceptions in signature by @sofurihafe in #418
- Extract Traverser from UtBotSymbolicEngine by @sergeypospelov in #307
- Add summary tests for ListWrapperReturnsVoidExample by @onewhl in #444
- Support startColumn field in the SARIF report by @ideaseeker in #454
- Remove duplicates in SARIF report by @ideaseeker in #474
- Minimize UtExecution number produced by fuzzing and collect coverage statistics by @Markoutte in #465
- Optimized dependencies by @Damtev in #480
- Disable action in editor for the file located in test source root by @EgorkaKulikov in #478
- Fix the way of setting static final fields by @sergeypospelov in #466
- assertArrayEquals overload is not found, tests doesn't compile #135 by @Vassiliy-Kudryashov in #464
- Empty tooltips are shown on Java plugin popup #420 by @Vassiliy-Kudryashov in #479
- Prepare plugin for 2022.7-beta release #441 by @Vassiliy-Kudryashov in #442
- Test generation is enabled for interfaces via shortcut and menu actio… by @Vassiliy-Kudryashov in #487
- Use ClassId name in prettifiedName if canonical name is null by @dtim in #484
- UI. IDEA plugin dialog. Test framework is reset to JUnit5 on selectin… by @Vassiliy-Kudryashov in #489
- Show exception stack trace if it happens in user code #368 by @sofurihafe in #477
- Make specify destination package option invisible #488 by @EgorkaKulikov in #495
- Fuzzer should change objects with its public setters by @Markoutte in #439
- Turn of fuzzing for AbstractModelBasedTest.kt by @Markoutte in #506
- Improve code generation pipeline by @EgorkaKulikov in #455
- Add the field testPrivateMethods in utbot-gradle by @ideaseeker in #483
- Fix incomplete results in the SARIF report by @ideaseeker in #471
- Add sarif results minimization #490 by @ideaseeker in #498
- Default value of codegen language and test framework is improved in UI #499 #500 by @EgorkaKulikov in #507
- Wrong wrapper for valueOf in parametrized tests #512 by @sofurihafe in #513
- Improve overloadings check in generated code #370 by @Vassiliy-Kudryashov in #503
- Create symbolic link by @victoriafomina in #502
- Update symbolic link by @victoriafomina in #521
- Generate test by fuzzing for methods with no parameters #511 by @Markoutte in #515
- Rename UtTestCase #519 by @sergeypospelov in #517
- Change private expectedResult type to Object in generated parametrized tests #528 by @sofurihafe in #529
- Enable Java assertions in framework integration tests by @dtim in #539
- Test report reworked (#522) by @nikitavlaev in #523
- Provide references to invoked methods in summary by @onewhl in #476
- Fix possible NPE for package name in rarely cases by @Markoutte in #544
- Capitalize method names properly by @onewhl in #504
- Improve plugin behavior classes/packages with no methods #516 by @volivan239 in #533
- Disabled tests for autogenerated functions #457 by @volivan239 in #505
- Better PR description by @denis-fokin in #486
- Removed external library and added clustering algorithm by @amandelpie in #532
- Refactor TestCaseGenerator and CodeGenerator and their usages #508 by @EgorkaKulikov in #540
- Test report for multiple classes by @nikitavlaev in #553
- Try another approach to mark hanging generated tests #371 by @Vassiliy-Kudryashov in #554
- Stricter check for enum classes in EnumModelProvider #558 by @dtim in #559
- Required libraries can be installed silently #492 by @Vassiliy-Kudryashov in #494
- Follow-up fix for 0c84e2f by @nikitavlaev in #557
- Implement new approach to create variables in parametrized tests by @EgorkaKulikov in #547
- Add an option to control fuzzing #451 by @Markoutte in #552
- Added pre-condition for non-empty paths in the ExecutionMetric to avoid unclear NPE #267 by @amandelpie in #567
- Already created test source root is not found in Idea project #497 by @Vassiliy-Kudryashov in #568
- Optimized module dependencies by @Damtev in #569
- Fuzzing is not stopped on timeout when symbolic execution is excluded #570 by @Markoutte in #574
- Revert missed changes for default values in UI by @EgorkaKulikov in #575
- Manual checklist template: check plugin size by @alisevych in #362
- Remove obsolete fuzzing code and update readme.md #467 by @Markoutte in #530
- Fixed the weird logic in the of error messages in SummaryTestCaseGeneratorTest #383 by @amandelpie in #572
- Improve processing CgNotNullAssertion in deepEquals by @sofurihafe in #582
- Parametrized test generation in Uber tests #541 by @sofurihafe in #573
- Added an approach to differ tests produced by Fuzzer and SymbolicExecutor #581 by @amandelpie in #583
- UI. Gradle project. Test sources root can be located anywhere #549 by @Vassiliy-Kudryashov in #577
- Fix expected number of generated methods counter #589 by @sofurihafe in #590
- Naming conventions added by @olganaumenko in #564
- Added links to utbot.org and JB Marketplace by @olganaumenko in #514
- Added a few tests to check generated clustering comments #384 by @amandelpie in #595
- IndexNotReadyException thrown in IDEA with installed UnitTestBot plug… by @Vassiliy-Kudryashov in #586
- Overflow in fuzzing #588 by @Markoutte in #604
- Make the
peek
method behaviour in the path selector deterministic #598 by @CaelmBleidd in #600 - Skip test generation for abstract methods #550 by @volivan239 in #556
- Generate parametrized test for methods without force mocking in Uber and sample tests #591 #596 by @sofurihafe in #608
- "State is null" error fix for parametrized test generation by @sofurihafe in #614
- Refactor code related to block construction by @ArsenHD in #571
- An attempt to avoid UtMethod in codegen by @EgorkaKulikov in #602
- Change type of 'actual' variable by @ArsenHD in #631
- Support parametrized test generation for constructors, even with parameters by @sofurihafe in #637
- Stacktraces in comments should be escaped #609 by @Vassiliy-Kudryashov in #638
- IDEA intention actions could help us with readability of generated co… by @Vassiliy-Kudryashov in #615
- Generate DisplayName annotation only for JUnit 5 #576 by @onewhl in #624
- Fixed missing support of manual UtSettings update by @Damtev in #654
- Fix engine to properly handle hidden fields #647 by @volivan239 in #627
- Replace Class<*> with ClassId in the CodeGenerator constructor by @EgorkaKulikov in #659
- Generate separated parametrized tests when we have different result types by @sofurihafe in #652
- Test generation fails if any unexpected exception occurs for a single method #661 by @Markoutte in #662
- Make UtEnumConstModel and UtClassRefModel reference models #414 by @dtim in #611
- Fuzzer fails with IllegalStateException #655 by @Markoutte in #663
- Add statics support in parametrized tests generation #612 #672 by @sofurihafe in #671
- Ability to create and run tests at once #156 by @Vassiliy-Kudryashov in #670
- Vassiliy kudryashov/651 write access exception during new sarif file generation by @Vassiliy-Kudryashov in #674
- Enlarge the set of cases when we try to create parametrized tests by @EgorkaKulikov in #678
- Timeout spinner should apply current value #675 by @Vassiliy-Kudryashov in #676
- NoSuchMethodError is thrown for Generate & Run action #679 by @Vassiliy-Kudryashov in #681
- Show error window if no test source root were found (#657) by @nikitavlaev in #680
- Summaries for tests generated by fuzzer are generated in the summary module #597 by @amandelpie in #599
- Remove
CLI: publish image
workflow by @victoriafomina in #687 - Android Studio fixes (#634, #635) by @nikitavlaev in #639
- Test generation details are not accessible as Event Log tool window w… by @Vassiliy-Kudryashov in #688
- Improve exception rendering in parametrized tests by @EgorkaKulikov in #690
- Fix empty true branch & correct generic execution selection logic in parametrized test generation #683 by @sofurihafe in #682
- java.net.URISyntaxException: Illegal character in path #587 by @Vassiliy-Kudryashov in #702
- Add new test for deepequals on object with nullable reference fields #696 by @sofurihafe in #698
- Fuzzing fails in concrete execution sometimes #706 by @Markoutte in #708
- Explicitly set the child process working directory if we run the plugin #694 by @sergeypospelov in #695
- Fix codegen to generate tests for nested classes into nested testclasses #560 by @volivan239 in #665
- Prohibit to set static fields from library classes #697 by @sergeypospelov in #699
- Updated Readme content by @olganaumenko in #685
- Fix direct assigning of fields with private type #731 by @volivan239 in #735
- Add unit tests for builders #543 by @onewhl in #734
- Fix the child process debug commands order #736 by @sergeypospelov in #737
- IntelliJ plugin, Gradle, Kotlin, Java version upgrade by @denis-fokin in #429
- Disable JVM option for Java metrics by @victoriafomina in #751
- Dependency from utbot-cli to utbot-summary by @denis-fokin in #752
- corrected ClassId.isAccessibleFrom behavior on arrays #743 by @volivan239 in #744
- Add SecurityManager support to block suspicious code #622 by @Markoutte in #625
- UI. Gradle project. Suggest all Test sources roots for test generatio… by @Vassiliy-Kudryashov in #705
- Added the ClassId for ParametrizedType by @EgorkaKulikov in #766
- Follow up fix for PR-705 by @EgorkaKulikov in #776
- Mutate values to improve code coverage #213 by @Markoutte in #713
- passing all secrets into reusable workflow by @bissquit in #771
- Fix duplication of nested testclasses #779 by @volivan239 in #780
- Enables utbot-analytics module in utbot-intellij module by @amandelpie in #733
- Introduce custom JavaDoc tags #565 by @onewhl in #585
- Don't run tests when publishing plugin and CLI by @victoriafomina in #784
- Add support for nullable fields in deep equals by @sofurihafe in #768
- Updated gradle configuration by @Markoutte in #764
- Use regex for generating string when regex pattern is found #778 by @Markoutte in #793
- Cannot find utbot-fuzzing.jar fix by @Markoutte in #795
- Fix CLI build without tests by @Markoutte in #799
- Minor refactoring in SimpleCommentBuildr and CustomJavaDocCommentBuilder by @onewhl in #788
- Older versions of IDE support by @denis-fokin in #798
- Optimize agents using by @victoriafomina in #806
- Fixes for analysis of reflection and Unsafe #721 by @dtim in #797
- DeepEquals: generate absent assertion by @sofurihafe in #813
- Night Statistics Monitoring by @SBOne-Kenobi in #701
- Fix 'Cannot expand zip as it does not exist' when build utbot-cli by @Markoutte in #816
- Rd-gen by @Domonion in #748
- Proper IntelliJ version constraints by @denis-fokin in #817
- Refactored scripts location by @amandelpie in #815
- Enhance fuzzing for arrays #738 by @volivan239 in #755
- Add support for nested classes to UI #649 by @volivan239 in #726
- Introduce utbot-framework-test project by @EgorkaKulikov in #810
- Java 8 RDgen fix by @Domonion in #824
- Add wrappers for queues #524 by @sergeypospelov in #822
- Cleanup build.gradle in utbot-samples by @EgorkaKulikov in #828
- Rd logs by @Domonion in #834
- Cg util class by @ArsenHD in #689
- Move the Torch wrapper to the separate module by @amandelpie in #821
- Inconsistent DisplayName is generated for a Collection used as the only parameter #684 by @Markoutte in #840
- Fixed some parts in renaming ML related stuff by @amandelpie in #839
- Make UtExecution abstract, introduce UtFailedExecution as its child by @dtim in #804
- Add back cross reference test by @sofurihafe in #846
- Add Junit5-params dependency for projects without it when needed #620 by @volivan239 in #829
- Fix soot initialization #849 by @sergeypospelov in #855
- Fix coverage calculation by @SBOne-Kenobi in #856
- Restructure gradle dependencies by @SBOne-Kenobi in #827
- Implicit unpermitted operations should be sandboxed #791 by @Markoutte in #838
- Manual testing checklist template update by @alisevych in #841
- Run monitoring manually by @SBOne-Kenobi in #860
- SysReq and minor updates to README added by @olganaumenko in #741
- Replace
disableSandbox
withuseSandbox
inUtSettings
by @dtim in #857 - Enable utbot-maven module #867 by @ideaseeker in #869
- Support hidden fields in code generation by @ArsenHD in #763
- Do not generate JavaDocs for empty comments #280 by @onewhl in #866
- Adds a cluster comment for tests produced by Smart Fuzzer by @amandelpie in #858
- UtMethod removal by @sergeypospelov in #862
- Sort dependencies in user build file by @EgorkaKulikov in #868
- Fix incorrect highlighting of the method call in sarif (#536) by @ideaseeker in #876
- Labels for templates: bug and enhancement by @alisevych in #889
- Fixed issue with uncompiled module utbot-analytics-torch by @amandelpie in #894
- Handle RecursionAssignment, SwitchCase, and CaughtException statement types in CustomJavaDocCommentBuilder by @onewhl in #888
- Concrete executor rd logs by @Domonion in #902
- Corrected synthetic FuzzedMethodDescription for fuzzing thisInstance #892 by @volivan239 in #897
- Fix fuzzing enum in recursion by @SBOne-Kenobi in #907
- UI action is disabled for several selected classes or packages #882 by @Vassiliy-Kudryashov in #896
- "Generate and Run" action doesn't initiate test run #709 by @Vassiliy-Kudryashov in #887
- fix git related issue #905 by @bissquit in #906
- Get static field concretly by @SBOne-Kenobi in #904
- No true branch test is generated for code with String.split(";\s") #885 by @Markoutte in #914
- Update Soot and choose an analyzable JRE #373 by @sergeypospelov in #890
- Move getting srcClassName inside ReadAction in plugin #729 by @volivan239 in #851
- Concrete executor logs by @Domonion in #921
- Fuzzing dates by @SBOne-Kenobi in #929
- Improve settings, part 1 by @EgorkaKulikov in #898
- jvm and container monitoring disabled by @bissquit in #927
- additional fix of checkout with custom commit sha by @bissquit in #931
- Get rid of "Android" plugin dependency #934 by @Vassiliy-Kudryashov in #935
- Support anonymous classes by @ArsenHD in #760
- Correct Parametrized tests checkbox functioning #933 by @Vassiliy-Kudryashov in #938
- Plugin UI. UnsupportedOperationException is thrown when new test sour… by @Vassiliy-Kudryashov in #939
- Contributing guide and related docs updated by @olganaumenko in #861
- Added simplification/rewriting for assumptions by @Damtev in #940
- Support lambda expressions by @ArsenHD in #825
- Migration ComboboxWithBrowseButton -> ComponentWithBrowseButton by @Vassiliy-Kudryashov in #953
- Add build number to the published plugin by @alisevych in #918
- Add an option to show library classes' graphs in visualization by @CaelmBleidd in #947
- Dockefile of CLI is based on Java 11 by @victoriafomina in #963
- Mark distinct test for Stream as slow by @Damtev in #967
- Add JavaDoc comment style setting #774 by @onewhl in #922
- Settings cannot be loaded because of NullPointerException #951 by @Vassiliy-Kudryashov in #952
- Fix CE by @sergeypospelov in #973
- Reduce concurrent jobs number for projects by @victoriafomina in #945
UtAssembleModel
refactor #812 by @sergeypospelov in #970- Added a clustering comments for the tests with empty path by @amandelpie in #969
- Vassiliy kudryashov/693 deprecated api usages in the plugin should be replaced with stable api calls by @Vassiliy-Kudryashov in #982
- Fix empty else-branch in parameterized test generation by @sofurihafe in #908
- Disable test generation for private nested classes in plugin #864 by @volivan239 in #865
- Fix for filtering anonymous function types by @Damtev in #984
- Publish utbot-rd on GitHub Packages by @victoriafomina in #993
- Switch to kts by @denis-fokin in #976
- Disabled concrete execution for lambda results by @Damtev in #989
- Fixed wrong targets for virtual invokes by @Damtev in #925
- Class not found fix #643 by @sergeypospelov in #996
- Disabled testPredicateNotExample by @Damtev in #1000
- Disable test generation for Kotlin getters/setters #911 by @volivan239 in #1003
- Support more ide versions by @denis-fokin in #995
- Disable
testIsValidUuid
as flaky by @dtim in #1005 - Check for ArrayStoreException on array update by @dtim in #971
- Fuzzer should generate tests for simple collection with generic types #875 by @Markoutte in #988
- "Test generation method" setting UI update #863 by @Markoutte in #1008
- Removed wrong formatting by @amandelpie in #1006
- Codegen unable to properly instantiate public inner classes #761 by @Markoutte in #1009
- Replace Kotlin getters/setters with property access in codegen #496 by @volivan239 in #1002
- Multiple values for custom javadoc tags by @onewhl in #987
- Use read action to access documents #850 by @ArsenHD in #979
- Primitive Stream wrappers (no laziness and source mutations support) by @Damtev in #871
- Avoid summary duplication #985 by @onewhl in #1015
- Fix bug in filtering Kotlin getters/setters in plugin by @volivan239 in #1026
New Contributors
- @olganaumenko made their first contribution in #564
- @ArsenHD made their first contribution in #571
Full Changelog: 2022.7-beta...2022.10