|
1 | 1 | [](https://github.com/UnitTestBot/UTBotJava/actions/workflows/build-and-run-tests.yml)
|
2 | 2 | [](https://github.com/UnitTestBot/UTBotJava/actions/workflows/publish-plugin-and-cli.yml)
|
3 | 3 |
|
4 |
| -Install the [IntelliJ IDEA Plugin](https://plugins.jetbrains.com/plugin/19445-unittestbot). |
| 4 | +👉 Find UTBot Java on [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot). |
5 | 5 |
|
6 |
| -Visit the official [UTBot ](https://www.utbot.org/)website. |
| 6 | +👉 Visit the [official UTBot website](https://www.utbot.org/). |
7 | 7 |
|
8 |
| -# What is UTBotJava? |
| 8 | +# What is UTBot Java? |
| 9 | +UTBot Java is the tool for **automated unit test generation**. It produces ready-to-use test cases for Java — with valid inputs and comments. It can even predict whether the tests fail or pass. You can analyze them, run them, show coverage — as if you've created them personally. |
9 | 10 |
|
10 |
| -UTBotJava generates test cases by code, trying to cover maximum statements and execution paths. We treat source code as source of truth assuming that behavior is correct and corresponds to initial user demand. Generated tests are placed in so-called regression suite. Thus, we fixate current behavior by generated test cases. Using UTBotJava developers obtain full control of their code. No future change can break the code without being noticed once it's covered with tests generated by UTBot. This way, modifications made by developers to an existing code are much safer. Hence, with the help of generated unit tests, UTBot provides dramatic code quality improvement. |
| 11 | +The **symbolic execution engine** paired with a **smart fuzzing technique** constitutes the core of UTBot Java. It helps to **find errors** and **prevent regressions** in the code in a much more efficient way — UTBot Java **maximizes path coverage** while **minimizing the number of tests and false positives**. |
11 | 12 |
|
12 |
| -# UTBot Java IntelliJ IDEA plugin |
| 13 | +UTBot Java represents all the test summaries in a **human-readable format**. The intelligible test method names and comments help you to control the whole testing process. Test failed? The summary refers you to the related branch or the condition under test. |
13 | 14 |
|
14 |
| -UTBot Java provides users with **IntelliJ IDEA** plugin. |
| 15 | +# Get started |
| 16 | +Try the **[online demo](https://www.utbot.org/utbot/)** to generate unit tests with one click. |
15 | 17 |
|
16 |
| -_The plugin was tested on **Win64**, **Linux64** and **MacOSx86_64**._ |
| 18 | +Get to know the **full version** of UTBot Java plugin with this quick guide: |
17 | 19 |
|
18 |
| -# How to download IntelliJ IDEA plugin |
| 20 | +<details> |
| 21 | + <summary>Install UTBot Java plugin for IntelliJ IDEA</summary> |
19 | 22 |
|
20 |
| -You can download the plugin from [GitHub Releases](https://github.com/UnitTestBot/UTBotJava/releases). |
| 23 | +Try the most straightforward path to start using UTBot plugin. |
| 24 | +1. Open your IntelliJ IDEA. If you don't have one, get it from [JetBrains](https://www.jetbrains.com/idea/download/#section=windows). |
| 25 | +2. Go to **File → Settings... → Plugins → Marketplace**. |
| 26 | +3. In the search field type *UTBot* — you'll see the UnitTestBot plugin page. |
| 27 | +4. Press the **Install** button and wait until it changes to **Installed**, then click **OK**. |
21 | 28 |
|
22 |
| -# How to install IntelliJ IDEA plugin |
| 29 | +Now you can find the UTBot plugin enabled in the **File → Settings → Plugins** window. |
23 | 30 |
|
24 |
| -See [step-by-step guide](https://github.com/UnitTestBot/UTBotJava/wiki/intellij-idea-plugin) explaining how to install the plugin. |
| 31 | +____________ |
| 32 | +</details> |
25 | 33 |
|
26 |
| -# How to use IntelliJ IDEA plugin |
| 34 | +<details> |
| 35 | + <summary>Generate tests with default configuration</summary> |
27 | 36 |
|
28 |
| -See [step-by-step guide](https://github.com/UnitTestBot/UTBotJava/wiki/generate-tests-with-plugin) explaining how to use the plugin. |
| 37 | +Proceed to generating unit tests for the existing Java project. If you don't have one, create it using the [JetBrains tutorial](https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-application.html). |
29 | 38 |
|
30 |
| -# How to contribute to UTBot Java |
| 39 | +1. Open your Java project in IntelliJ IDEA. |
| 40 | +2. Right-click the required package or a file in the Project tool window, scroll the menu down to the bottom and choose **Create Tests with UTBot...** |
| 41 | +3. In the **Generate tests with UTBot** window tick the classes or methods you'd like to cover with unit tests and press **OK**. |
31 | 42 |
|
32 |
| -See [**Contributing guidelines**](CONTRIBUTING.md). |
| 43 | +Now you can see the resulting test class or classes in the Editor tool window. |
| 44 | + |
| 45 | +____________ |
| 46 | +</details> |
| 47 | + |
| 48 | +<details> |
| 49 | + <summary>Make use of generated tests</summary> |
| 50 | + |
| 51 | +What can you do with the output? |
| 52 | + |
| 53 | +1. To *find and fix the errors* in your code: |
| 54 | + |
| 55 | +* Run the generated tests: right-click the test class or a folder with tests and choose **Run**. |
| 56 | + |
| 57 | +* In the Run tool window you can see the tests failed with the brief failure explanation. |
| 58 | + |
| 59 | +* Fix your errors if needed. |
| 60 | + |
| 61 | +2. To *prevent regressions*: |
| 62 | + |
| 63 | +* Having your errors fixed, run the tests again. "Passed"? Commit them as the regression suite. |
| 64 | + |
| 65 | +* Introduce changes in the code and run your tests as often as needed! |
| 66 | + |
| 67 | +* Tests failed? Decide whether it is a bug or a feature and generate new tests if necessary. |
| 68 | + |
| 69 | +3. To *view coverage*: |
| 70 | + |
| 71 | +Right-click the test class, choose **More Run/Debug → Run ... with Coverage**. |
| 72 | + |
| 73 | +____________ |
| 74 | +</details> |
| 75 | + |
| 76 | +# Contribute to UTBot Java |
| 77 | +UTBot Java is an open source project. We welcome everyone who wants to make UTBot Java better — introduce a new feature or report a bug. We have only one kind request for our contributors: we expect you to prove the necessity and quality of the suggested changes. |
| 78 | + |
| 79 | +How can you do this? Refer to our [Contributing guide](https://github.com/UnitTestBot/UTBotJava/blob/main/CONTRIBUTING.md). |
| 80 | + |
| 81 | +Feel free to join the [Discussions](https://github.com/UnitTestBot/UTBotJava/discussions)! |
| 82 | + |
| 83 | +And thank you for your time and effort! ⭐ |
| 84 | + |
| 85 | +# Find support |
| 86 | +Having troubles with using UTBot Java? Contact us [directly](https://www.utbot.org/contact). |
| 87 | + |
| 88 | +# Find more UTBot products |
| 89 | +[UTBot Cpp](https://github.com/UnitTestBot/UTBotCpp) — try it yourself and tell your friends: it is the tool for automated unit test generation developed especially for C/C++. |
| 90 | + |
| 91 | +You are welcome to [contribute](https://github.com/UnitTestBot/UTBotCpp/blob/main/CONTRIBUTING.md) to it too! |
0 commit comments