Bird
Raised Fist0
JUnittesting~10 mins

@DisplayName for readable names in JUnit - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a readable name to the test method using @DisplayName.

JUnit
@Test
@DisplayName([1])
void testAddition() {
    assertEquals(5, 2 + 3);
}
Drag options to blanks, or click blank then click option'
A"Addition works correctly"
B'Addition works correctly'
CAddition works correctly
DAddition_works_correctly
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to use quotes around the display name string.
Using single quotes instead of double quotes.
Passing a variable or unquoted text.
2fill in blank
medium

Complete the code to add a display name that describes the test purpose.

JUnit
@Test
@DisplayName([1])
void testSubtraction() {
    assertEquals(2, 5 - 3);
}
Drag options to blanks, or click blank then click option'
A"Subtracting two numbers"
B'Subtracting two numbers'
CSubtracting two numbers
Dsubtracting_two_numbers
Attempts:
3 left
💡 Hint
Common Mistakes
Using single quotes instead of double quotes.
Not using quotes at all.
Using underscores instead of spaces.
3fill in blank
hard

Fix the error in the @DisplayName annotation to make the test method name readable.

JUnit
@Test
@DisplayName([1])
void testMultiplication() {
    assertEquals(6, 2 * 3);
}
Drag options to blanks, or click blank then click option'
Amultiplication_test
BMultiplication test
C'Multiplication test'
D"Multiplication test"
Attempts:
3 left
💡 Hint
Common Mistakes
Using single quotes instead of double quotes.
Not using any quotes.
Using underscores instead of spaces.
4fill in blank
hard

Fill both blanks to add a display name and a test annotation correctly.

JUnit
[1]
@DisplayName([2])
void testDivision() {
    assertEquals(2, 6 / 3);
}
Drag options to blanks, or click blank then click option'
A@Test
B"Division works correctly"
C@TestMethod
D'Division works correctly'
Attempts:
3 left
💡 Hint
Common Mistakes
Using @TestMethod instead of @Test.
Using single quotes for display name.
Omitting the @Test annotation.
5fill in blank
hard

Fill all three blanks to create a test method with @Test, @DisplayName, and a proper assertion.

JUnit
[1]
@DisplayName([2])
void testModulo() {
    assertEquals([3], 10 % 3);
}
Drag options to blanks, or click blank then click option'
A@Test
B"Modulo operation test"
C1
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong annotation like @TestMethod.
Using single quotes for display name.
Using wrong expected value in assertEquals.

Practice

(1/5)
1. What is the main purpose of using @DisplayName in JUnit tests?
easy
A. To skip a test during execution
B. To change the test execution order
C. To give tests clear, readable names for better understanding
D. To add tags for filtering tests

Solution

  1. Step 1: Understand the role of @DisplayName

    @DisplayName is used to provide a human-friendly name to a test method instead of the method name.
  2. Step 2: Identify the benefit of readable names

    This helps both technical and non-technical people quickly understand what the test checks when reading reports.
  3. Final Answer:

    To give tests clear, readable names for better understanding -> Option C
  4. Quick Check:

    @DisplayName = readable test names [OK]
Hint: Remember: @DisplayName makes test names easy to read [OK]
Common Mistakes:
  • Thinking @DisplayName changes test order
  • Confusing @DisplayName with @Tag
  • Assuming @DisplayName skips tests
2. Which of the following is the correct syntax to use @DisplayName in a JUnit 5 test method?
easy
A. @DisplayName = "Test addition method" void testAdd() {}
B. @DisplayName("Test addition method") void testAdd() {}
C. @DisplayName: "Test addition method" void testAdd() {}
D. @DisplayName testAdd("Test addition method") {}

Solution

  1. Step 1: Recall correct annotation syntax

    Annotations in Java use @AnnotationName("string") before the method signature.
  2. Step 2: Match syntax with options

    @DisplayName("Test addition method") void testAdd() {} correctly uses @DisplayName with parentheses and a string argument before the method.
  3. Final Answer:

    @DisplayName("Test addition method") void testAdd() {} -> Option B
  4. Quick Check:

    @DisplayName("...") syntax is correct [OK]
Hint: Annotations need @ and parentheses with strings [OK]
Common Mistakes:
  • Using = or : instead of parentheses
  • Placing @DisplayName after method signature
  • Omitting quotes around the display name
3. Given the following test code, what will be the display name shown in the test report?
@Test
@DisplayName("Check if number is positive")
void isPositiveTest() {
    assertTrue(5 > 0);
}
medium
A. isPositiveTest
B. assertTrue(5 > 0)
C. void isPositiveTest()
D. Check if number is positive

Solution

  1. Step 1: Identify the effect of @DisplayName

    The @DisplayName annotation overrides the default method name shown in reports with the given string.
  2. Step 2: Check the string provided

    The string "Check if number is positive" will be shown instead of the method name.
  3. Final Answer:

    Check if number is positive -> Option D
  4. Quick Check:

    @DisplayName string replaces method name [OK]
Hint: Display name shows the annotation string, not method name [OK]
Common Mistakes:
  • Expecting method name instead of display name
  • Confusing method signature with display name
  • Thinking assertion text appears as name
4. Identify the error in the following JUnit 5 test code using @DisplayName:
@Test
@DisplayName(Test addition)
void testAdd() {
    assertEquals(4, 2 + 2);
}
medium
A. Missing quotes around the display name string
B. Missing @Test annotation
C. assertEquals arguments are reversed
D. Method name should be public

Solution

  1. Step 1: Check @DisplayName syntax

    The display name must be a string literal enclosed in double quotes.
  2. Step 2: Identify missing quotes

    Here, Test addition is not in quotes, causing a syntax error.
  3. Final Answer:

    Missing quotes around the display name string -> Option A
  4. Quick Check:

    @DisplayName needs quotes around text [OK]
Hint: Always put display names inside double quotes [OK]
Common Mistakes:
  • Omitting quotes around display name
  • Confusing @DisplayName with @Test
  • Thinking method must be public in JUnit 5
5. You want to write a JUnit 5 test method with a display name that includes quotes, like: Test "add" method works. Which is the correct way to write the @DisplayName annotation?
hard
A. @DisplayName("Test \"add\" method works")
B. @DisplayName('Test "add" method works')
C. @DisplayName("Test 'add' method works")
D. @DisplayName(Test "add" method works)

Solution

  1. Step 1: Understand string escaping in Java annotations

    Double quotes inside a Java string must be escaped with a backslash (\") to be valid.
  2. Step 2: Check each option for correct escaping

    @DisplayName("Test \"add\" method works") correctly escapes the inner quotes with \". @DisplayName('Test "add" method works') uses single quotes which are invalid for Java strings. @DisplayName("Test 'add' method works") uses single quotes inside double quotes which is valid but changes the quote style. @DisplayName(Test "add" method works) lacks quotes entirely, causing syntax error.
  3. Final Answer:

    @DisplayName("Test \"add\" method works") -> Option A
  4. Quick Check:

    Escape inner quotes with backslash in Java strings [OK]
Hint: Escape inner double quotes with \" inside @DisplayName [OK]
Common Mistakes:
  • Using single quotes for Java strings
  • Not escaping inner double quotes
  • Omitting quotes around the display name
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard