- Install the latest version of IntelliJ IDEA Ultimate.
- Install the latest version of UnitTestBot plugin.
- Install Node.js 10.0.0 or later. Add Node.js to environment variables for better experience.
- In your IntelliJ IDEA, go to File > Settings > Tools > UnitTestBot and enable Experimental languages support.
- Go to File > Settings > Languages & Frameworks, choose Node.js and check if the path to Node.js executable file is specified.
- In a JavaScript file, press Alt+Shift+U to open the generation dialog.
- The system prohibits installation
Solution: run cmd via sudo or with administrator access, run npm install -g <missing requirement>.
- Node.js is missing, or npm is not installed
Solution: install Node.js with default configuration from the official website.
JAR file can be built in GitHub Actions with the publish-plugin-and-cli-from-branch script.
- Install Node.js 10.0.0 or later
- Install Java 11 or later
- Install nyc 15.1.0 or later:
> npm install -g nyc - Install Mocha 10.0.0 or later:
> npm install -g mocha
java -jar utbot-cli.jar generate_js --source="dir/file_with_sources.js" --output="dir/generated_tests.js"
This will generate tests for top-level functions from file_with_sources.js.
-
-s, --source <path>(required) Source code file for test generation.
-
-c, --class <classname>Specifies the class to generate tests for. If not specified, tests for top-level functions or a single class are generated.
-
-o, --output <dir/filename>File for generated tests.
-
-p, --print-testSpecifies whether a test should be printed out to
StdOut(default = false). -
-t, --timeout <seconds>Timeout for a single test case to generate: in seconds (default = 15).
-
--coverage-mode <BASIC/FAST>Specifies the coverage mode for test generation (used for coverage-based optimization). For now, the fast mode cannot deal with exceeding timeouts, but works faster (default = FAST). Do not use the fast mode if you guess there might be infinite loops in your code.
-
--path-to-node <path>Sets a path to Node.js executable (default = "node").
-
--path-to-nyc <path>Sets a path to nyc executable (default = "nyc").
-
--path-to-npm <path>Sets a path to npm executable (default = "npm").
java -jar utbot-cli.jar run_js --fileOrDir="generated_tests.js"
This will run generated tests from a file or directory.
-
-f, --fileOrDir(required) File or directory with tests.
-
-o, --outputSpecifies the output TXT file for a test framework result (if empty, prints the result to
StdOut). -
-t, --test-framework <name>Test framework to use for test running (default = "Mocha").
java -jar utbot-cli.jar coverage_js --source=dir/generated_tests.js
This will generate a coverage report for generated tests and print it to StdOut.
-
-s, --source <file>(required) File with tests to generate a report for.
-
-o, --outputSpecifies the output JSON file for a coverage report (if empty, prints the report to
StdOut). -
--path-to-nyc <path>Sets a path to nyc executable (default = "nyc").