Install, generate, run!

Streamline unit testing with UnitTestBot JavaScript.
Proven for fully automated test generation with high coverage. Free and open-source like all UnitTestBot products. Tailored to IDE or command-line usage. Rendering tests with Mocha flavor.
Making development flexible and interactive — as JavaScript itself.

The best guess for types.

JavaScript has no type annotations. To generate test cases with the reasonable inputs, UnitTestBot JavaScript tries out primitives or guesses types from code usage.
It verifies the resulting list of candidates — with the help of fuzzer. As JavaScript is weakly typed, there still may be tests with the unintended type that pass — analyze them carefully to get insights on your code.

Type inference example

Random value generation — too important to be left to chance.

While fuzzing, UnitTestBot JavaScript gathers all constant values from the code: strings, numbers, arrays, objects. They serve as informative hints to generate valid inputs of the previously guessed types. UnitTestBot JavaScript checks if test cases increase coverage, leaving only those that really matter.
And if it is impossible to infer a type, the fuzzer still provides you with tests.

Fuzzing example

There are two kinds of developers.

In love with rich IDE features? UnitTestBot JavaScript offers the plugin for IntelliJ IDEA Ultimate. Benefit from shortcuts and generate tests with a couple of clicks. View clustered test cases in the Structure tool window and view line-by-line coverage right in the Editor.
Adhered to CLI zen? UnitTestBot JavaScript is on your side. Automate the whole testing process and integrate the tool into your CI/CD solution.

Plugin and CLI usage examples

View your code covered.

UnitTestBot JavaScript provides you not only with high test coverage but also with monitoring tools.
Visualize coverage in IntelliJ IDEA Ultimate with the bundled view options right where you need it.
Use a special flag for a command-line version to extract the Mocha coverage info into a visually clear JSON-file.

Coverage example