The UnitTestBot Java provides engineers with a simple way to generate unit tests and visualize coverage for projects written in Java Programming Language. The tool uses symbolic analysis for test cases generation.
It is based on a custom Symbolic Virtual Machine to analyze bytecode, traverse it and pass path constraints to the Z3 SMT Solver from Microsoft Labs to get a SAT /\ UNSAT model for codebase. UnitTestBot incorporates machine learning for test names and test variables generation.
Tests are generated in the JUnit 5 asserts notation and formatted according to the Huawei Coding Standards.
JDK Version OpenJDK 1.8+ compatible
IntelliJ IDEA 2020.2+