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+

Build system


UnitTestBot © 2022 (Build#41, built on 2022-9-26)