Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Missing input parameters in DisplayName annotation for successful tests #2111

Open
Assignees
Labels
comp-summariesSomething related to the method names, code comments and display names generation ctg-bugIssue is a bug
@alisevych

Description

Description

There are missing input parameters in DisplayName annotation for the generated tests.

To Reproduce

  1. Run the 'utbot' project in IntelliJ Idea 2022年3月3日 Ultimate
  2. Install plugin built from main
  3. Use plugin to generate tests for Recursion$factorial
  4. Open the generated test

Expected behavior

DisplayName is supposed to contain input parameters - or conditions for this test method.

Actual behavior

There are only method name - and returned value. Input parameters or conditions are missing.
There are two tests with inputs n=0 and n=1 - but DisplayName for them are equal:

 @DisplayName("factorial: -> return 1")

Visual proofs (screenshots, logs, images)

 ///region SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS for method factorial(int)
 /**
 * @utbot.classUnderTest {@link Recursion}
 * @utbot.methodUnderTest {@link Recursion#factorial(int)}
 * @utbot.executesCondition {@code (n == 0): False}
 * @utbot.invokes {@link Recursion#factorial(int)}
 * @utbot.triggersRecursion factorial, where the test return from: {@code return 1;}
 * @utbot.returnsFrom {@code return n * factorial(n - 1);}
 */
 @Test
 @DisplayName("factorial: -> return 1")
 public void testFactorial_NNotEqualsZero() {
 Recursion recursion = new Recursion();
 int actual = recursion.factorial(1);
 assertEquals(1, actual);
 }
 /**
 * @utbot.classUnderTest {@link Recursion}
 * @utbot.methodUnderTest {@link Recursion#factorial(int)}
 * @utbot.returnsFrom {@code return 1;}
 */
 @Test
 @DisplayName("factorial: -> return 1")
 public void testFactorial_Return1() {
 Recursion recursion = new Recursion();
 int actual = recursion.factorial(0);
 assertEquals(1, actual);
 }
 ///endregion

Environment

Windows 10 Pro
IntelliJ IDEA Ultimate 2022年3月3日
Gradle, JDK 17

Additional context

In the test that asserts IllegalArgumentException thrown the following DisplayName is generated:

 @DisplayName("factorial: n < 0 -> ThrowIllegalArgumentException")

Metadata

Metadata

Labels

comp-summariesSomething related to the method names, code comments and display names generation ctg-bugIssue is a bug

Type

No type

Projects

Status

Todo

Milestone

No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /