Skip to content

SysReq and minor updates to README added #741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 25 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,37 @@
[![UTBot Java: build and run tests](https://github.com/UnitTestBot/UTBotJava/actions/workflows/build-and-run-tests.yml/badge.svg)](https://github.com/UnitTestBot/UTBotJava/actions/workflows/build-and-run-tests.yml)
[![UnitTestBot: build and run tests](https://github.com/UnitTestBot/UTBotJava/actions/workflows/build-and-run-tests.yml/badge.svg)](https://github.com/UnitTestBot/UTBotJava/actions/workflows/build-and-run-tests.yml)
[![Plugin and CLI: publish as archives](https://github.com/UnitTestBot/UTBotJava/actions/workflows/publish-plugin-and-cli.yml/badge.svg)](https://github.com/UnitTestBot/UTBotJava/actions/workflows/publish-plugin-and-cli.yml)

👉 Find UTBot Java on [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot).
👉 Find UnitTestBot on [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot).

👉 Visit the [official UTBot website](https://www.utbot.org/).
👉 Visit the [official UnitTestBot website](https://www.utbot.org/).

# What is UTBot Java?
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.
# What is UnitTestBot?
UnitTestBot is the tool for **automated unit test generation** and **precise code analysis**. 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.

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**.
The **symbolic execution engine** paired with a **smart fuzzing technique** constitutes the core of UnitTestBot. It helps to **find errors** and **prevent regressions** in the code in a much more efficient way — UnitTestBot **maximizes path coverage** while **minimizing the number of tests and false positives**.

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.
UnitTestBot 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.

# Get started
Try the **[online demo](https://www.utbot.org/utbot/)** to generate unit tests with one click.

Get to know the **full version** of UTBot Java plugin with this quick guide:
Get to know the **full version** of UnitTestBot plugin with this quick guide:

<details>
<summary>Install UTBot Java plugin for IntelliJ IDEA</summary>
<summary>Install UnitTestBot plugin for IntelliJ IDEA</summary>

Try the most straightforward path to start using UTBot plugin.
1. Open your IntelliJ IDEA. If you don't have one, get it from [JetBrains](https://www.jetbrains.com/idea/download/#section=windows).
2. Go to **File → Settings... → Plugins → Marketplace**.
3. In the search field type *UTBot* — you'll see the UnitTestBot plugin page.
4. Press the **Install** button and wait until it changes to **Installed**, then click **OK**.
Try the most straightforward path to start using UnitTestBot plugin.
1. Please check the [system requirements](SystemRequirements.md).
2. Open your IntelliJ IDEA.
3. Go to **File → Settings... → Plugins → Marketplace**.
4. In the search field type *UnitTestBot* — you'll see the UnitTestBot plugin page.
5. Press the **Install** button and wait until it changes to **Installed**, then click **OK**.

Now you can find the UTBot plugin enabled in the **File → Settings → Plugins** window.
Now you can find the UnitTestBot plugin enabled in the **File → Settings → Plugins** window.

____________
</details>
Expand Down Expand Up @@ -73,8 +78,8 @@ Right-click the test class, choose **More Run/Debug → Run ... with Coverage**.
____________
</details>

# Contribute to UTBot Java
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.
# Contribute to UnitTestBot
UnitTestBot is an open source project. We welcome everyone who wants to make UnitTestBot 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.

How can you do this? Refer to our [Contributing guide](https://github.com/UnitTestBot/UTBotJava/blob/main/CONTRIBUTING.md).

Expand All @@ -83,9 +88,9 @@ Feel free to join the [Discussions](https://github.com/UnitTestBot/UTBotJava/dis
And thank you for your time and effort! ⭐

# Find support
Having troubles with using UTBot Java? Contact us [directly](https://www.utbot.org/contact).
Having troubles with using UnitTestBot? Contact us [directly](https://www.utbot.org/contact).

# Find more UTBot products
[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++.
# Find more UnitTestBot products
You can also try [UnitTestBot](https://github.com/UnitTestBot/UTBotCpp) developed especially for C/C++.

You are welcome to [contribute](https://github.com/UnitTestBot/UTBotCpp/blob/main/CONTRIBUTING.md) to it too!
28 changes: 28 additions & 0 deletions SystemRequirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# System requirements
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, we should describe system requirements for developers and for contributors separately.

Requirements for developers should include supported Idea versions and a link to the IntelliJ page:
https://www.jetbrains.com/help/idea/supported-java-versions.html#2022

Additionally, we should describe how JAVA_HOME and KOTLIN_HOME may affect tests run.


---

### To generate tests with UnitTestBot:

you have to install IntelliJ IDEA (versions from 2022.1 to 2022.1.4 are supported).

### To contribute to UnitTestBot:

you have to install

- IntelliJ IDEA (versions from 2022.1 to 2022.1.4 are supported);

- JDK 11;

- Kotlin 1.7.0 or later;

you also have to check if

- ```JAVA_HOME``` environment variable contains the path to JDK 11 installation directory;

- ```PATH``` environment variable contains the path to the ```bin``` folder of JDK 11 installation directory;

- ```KOTLIN_HOME``` environment variable contains the path to the ```kotlinc``` folder of Kotlin (1.7.0 or later) installation
directory.

Please note: if the environment variables lead to unsupported JDK or Kotlin versions, you won't be able to build the UnitTestBot project.