Description
Settings UI revision
Description
-
Inconsistent labels in the IntelliJ IDEA plugin UI.
Product name should be: UnitTestBot (everywhere).
Some UI elements of UnitTestBot are incongruent with the IntelliJ IDEA UI.
Some settings are duplicated in the Plugin settings window and Action settings window. -
Some setting labels are unclear.
-
Redundant "Help" tooltips; each option has a tooltip.
Let's make UnitTestBot UI consistent with the IntelliJ IDEA design guidelines regarding tooltips and context help. :)
=> Please revise the Settings UI in Cases 1-3 as following.
Case 1. Plugin settings window
Steps To Reproduce
IntelliJ IDEA → File → Settings... → Tools → UtBot
See the Screenshot_1.
Actual (OLD) and expected (NEW) behavior
-
Plugin name — marked with red in the Screenshot_1.
(OLD) UtBot
(NEW) UnitTestBot -
(OLD) Mock strategy:
No mocks
Other packages: Mockito
Other classes: Mockito
(NEW) //Remove this setting from Plugin settings. Leave it only in Action settings.
- (OLD) Language generation:
Java
Kotlin
(NEW) Generated test language:
Java
Kotlin
//Please add a tooltip:
You can generate test methods in Java or Kotlin regardless of your source code language.
- (OLD) Test with exceptions:
Failing
Passing
//Tooltip:
Test behavior when runtime exception occurs
(NEW) Tests with exceptions:
Fail
Pass
//Please remove the tooltip.
- (OLD) Hanging test timeout: milliseconds
(NEW) //Please add a tooltip:
Test generation may hang due to infinite loops or other code conditions. Set timeout to stop waiting for hanging process.
- (OLD) Force static mocking:
Force static mocking
Do not force static mocking
(NEW) Force mocking static methods: [checkbox]
//Please add a tooltip:
Overrides other mocking settings.
- (OLD) Class
//java.util.Random
//etc
(NEW) //Please make this field open only when "Force mock static methods:" is checked.
Classes to be forcedly mocked:
//java.util.Random
//etc
- Please check "Test generation method" setting UI update #863.
Case 2. Generate... dialog window
Steps To Reproduce
Open the existing Java project in IntelliJ IDEA.
Open the Java file.
In the Editor tool window right-click any line containing a method or a class → Generate...
See the Screenshot_2.
Actual (OLD) and expected (NEW) behavior
- (OLD) Generate… (right-click menu) → Create Tests with UTBot… → Generate tests with UTBot
(NEW) Generate… (right-click menu) → Tests with UnitTestBot… → Generate Tests with UnitTestBot
Case 3. Action settings window
Steps To Reproduce
Open the existing Java project in IntelliJ IDEA.
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… (right-click menu) → Generate tests with UtBot
See the Screenshot_3 for item 1.
See the Screenshot_4 for items 2-10.
Actual (OLD) and expected (NEW) behavior
-
(OLD) Create Tests with UTBot… (right-click menu) → Generate tests with UtBot
(NEW) Generate Tests with UnitTestBot… (right-click menu) → Generate Tests with UnitTestBot -
(OLD) Code generation language:
Java
Kotlin
//Tooltips:
Generate unit tests in Java
Generate unit tests in Kotlin
(NEW) Please remove this setting from the Action settings window.
- (OLD) Test framework:
JUnit4
JUnit5
TestNG
//Tooltips:
Use JUnit4 as test framework
Use JUnit5 as test framework
(NEW) Testing framework:
JUnit4
JUnit5
TestNG
Please remove the tooltips.
- (OLD) Mock strategy:
No mocks
Other packages: Mockito
Other classes: Mockito
//Tooltips:
Do not use mock frameworks at all
Mock all classes outside the current package except system ones
Mock all classes outside the class under test except system ones
(NEW) Mocking strategy:
Do not mock
Mock package environment
Mock class environment
//Please add the tooltip:
Mock everything around the target class or the whole package except the system classes. Otherwise mock nothing.
- (OLD) Mock static:
No static mocking
Mockito static mocking
//Tooltips:
Do not use additional settings to mock static fields
Use static methods mocking
(NEW) Mock static methods: yes/no (checkbox)
Please remove the tooltips.
- (OLD) Timeout for class: sec
//Tooltip:
The execution timeout specifies time for symbolic and concrete analysis
(NEW) Test generation timeout per class: seconds
Please remove the tooltip (TBD).
- (OLD) Parametrized tests:
Not parametrized
Parametrized
//Tooltips:
Do not generate parametrized tests
Generate parametrized tests
(NEW) Parameterized tests: yes/no (checkbox)
Please remove the tooltips.
Please move this setting up (after the "Testing framework:" setting).
- (OLD) Generate test methods for:
(NEW) Generate tests for:
Environment
Windows 10 Pro
UnitTestBot
IntelliJ IDEA 2022.1.3 (Ultimate Edition)
Additional context
Please check the expected settings sequence.
For Plugin settings window:
- Generated test language:
- Hanging test timeout:
- Tests with exceptions:
- Overflow detection:
- Force mock static methods:
- Classes to be forcedly mocked:
- Test generation method:
For Action settings window:
- Test source root:
- Testing framework:
- Parameterized tests:
- Mocking strategy:
- Mock static methods:
- Test generation timeout per class:
- Generate tests for:
Metadata
Metadata
Assignees
Type
Projects
Status