Bird
Raised Fist0
JUnittesting~10 mins

@Test annotation 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 mark the method as a test using JUnit.

JUnit
public class CalculatorTest {
    [1]
    public void testAddition() {
        // test code here
    }
}
Drag options to blanks, or click blank then click option'
A@Before
B@Test
C@After
D@Ignore
Attempts:
3 left
💡 Hint
Common Mistakes
Using @Before or @After instead of @Test.
Forgetting the '@' symbol.
2fill in blank
medium

Complete the code to import the correct JUnit annotation for tests.

JUnit
import org.junit.[1];

public class SampleTest {
    @Test
    public void example() {}
}
Drag options to blanks, or click blank then click option'
ATest
BBefore
CIgnore
DAfter
Attempts:
3 left
💡 Hint
Common Mistakes
Importing @Before or @After instead of @Test.
Missing the import statement.
3fill in blank
hard

Fix the error in the test method annotation.

JUnit
public class TestExample {
    [1]
    public void shouldPass() {
        // test logic
    }
}
Drag options to blanks, or click blank then click option'
A@TestMethod
BTest
C@Test
D@test
Attempts:
3 left
💡 Hint
Common Mistakes
Writing 'Test' without '@'.
Using lowercase '@test'.
Using '@TestMethod' which is not a JUnit annotation.
4fill in blank
hard

Fill both blanks to complete a test method with an assertion.

JUnit
import static org.junit.Assert.[1];

public class MathTest {
    @Test
    public void testSum() {
        int result = 2 + 3;
        [2](5, result);
    }
}
Drag options to blanks, or click blank then click option'
AassertEquals
BassertTrue
CassertFalse
DassertNull
Attempts:
3 left
💡 Hint
Common Mistakes
Using assertTrue or assertFalse which do not compare two values directly.
Using assertNull which checks for null values.
5fill in blank
hard

Fill all three blanks to write a test method that expects an exception.

JUnit
import org.junit.Test;

public class ExceptionTest {
    @Test(expected = [1].class)
    public void testException() {
        throw new [2]();
    }

    class [3] extends RuntimeException {}
}
Drag options to blanks, or click blank then click option'
AIllegalArgumentException
BRuntimeException
CMyException
DException
Attempts:
3 left
💡 Hint
Common Mistakes
Using different exception names in the annotation and throw statement.
Using standard exceptions instead of the custom one.
Not matching the class name in the definition.

Practice

(1/5)
1. What is the main purpose of the @Test annotation in JUnit?
easy
A. To mark a method as a test case that JUnit will run
B. To declare a method as private
C. To specify the return type of a method
D. To import JUnit libraries

Solution

  1. Step 1: Understand the role of @Test

    The @Test annotation tells JUnit which methods are test cases to execute.
  2. Step 2: Eliminate unrelated options

    Options B, C, and D do not relate to marking test methods.
  3. Final Answer:

    To mark a method as a test case that JUnit will run -> Option A
  4. Quick Check:

    @Test marks test methods [OK]
Hint: Remember: @Test means 'run this method as test' [OK]
Common Mistakes:
  • Thinking @Test changes method visibility
  • Confusing @Test with import statements
  • Assuming @Test sets return type
2. Which of the following is the correct syntax for a JUnit test method using @Test?
easy
A. public void testMethod(int x) {}
B. private int testMethod() {}
C. public void testMethod() {}
D. public String testMethod() {}

Solution

  1. Step 1: Recall JUnit test method rules

    Test methods must be public, return void, and take no parameters.
  2. Step 2: Check each option

    public void testMethod() {} matches all rules. Options B, C, and D violate visibility, return type, or parameters.
  3. Final Answer:

    public void testMethod() {} -> Option C
  4. Quick Check:

    Public, void, no params = correct test method [OK]
Hint: Test methods: public + void + no parameters [OK]
Common Mistakes:
  • Making test methods private
  • Adding parameters to test methods
  • Using non-void return types
3. Given the code below, what will be the test result when running with JUnit?
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

public class SampleTest {
    @Test
    public void checkSum() {
        int result = 2 + 3;
        assertEquals(5, result);
    }
}
medium
A. Runtime exception thrown
B. Test passes successfully
C. Compilation error due to missing return
D. Test fails with assertion error

Solution

  1. Step 1: Analyze the test method logic

    The method calculates 2 + 3 and stores in result, then asserts result equals 5.
  2. Step 2: Check assertion correctness

    Since 2 + 3 is 5, the assertion assertEquals(5, result) will pass.
  3. Final Answer:

    Test passes successfully -> Option B
  4. Quick Check:

    2 + 3 = 5, assertion true [OK]
Hint: If assertion matches calculation, test passes [OK]
Common Mistakes:
  • Assuming test fails without checking assertion
  • Confusing compilation errors with test failures
  • Ignoring that test methods return void
4. Identify the error in the following JUnit test method:
import org.junit.jupiter.api.Test;

public class ErrorTest {
    @Test
    private void testHidden() {
        // test code
    }
}
medium
A. Test method must be public, not private
B. Missing return statement in test method
C. Test method should have parameters
D. Missing @BeforeEach annotation

Solution

  1. Step 1: Check method visibility

    JUnit requires test methods to be public so it can access and run them.
  2. Step 2: Validate other method properties

    Test methods must be void and parameterless; private visibility is the error here.
  3. Final Answer:

    Test method must be public, not private -> Option A
  4. Quick Check:

    Test methods must be public [OK]
Hint: Test methods must be public, not private [OK]
Common Mistakes:
  • Making test methods private
  • Adding parameters to test methods
  • Confusing lifecycle annotations with test method requirements
5. You want to write a JUnit test method that checks if a method throws an exception. Which is the correct way to use @Test for this purpose in JUnit 5?
hard
A. Use @Test(expected = Exception.class) annotation parameter
B. Add throws Exception to the test method signature
C. Write a try-catch block without @Test
D. Use @Test with assertThrows() inside the method

Solution

  1. Step 1: Recall JUnit 5 exception testing

    JUnit 5 uses assertThrows() inside @Test methods to check exceptions.
  2. Step 2: Eliminate outdated or incorrect options

    Use @Test(expected = Exception.class) annotation parameter is from JUnit 4 and invalid in JUnit 5. Add throws Exception to the test method signature only declares exception, not tests it. Write a try-catch block without @Test misses @Test.
  3. Final Answer:

    Use @Test with assertThrows() inside the method -> Option D
  4. Quick Check:

    JUnit 5 uses assertThrows() inside @Test [OK]
Hint: JUnit 5 tests exceptions with assertThrows() inside @Test [OK]
Common Mistakes:
  • Using JUnit 4 style @Test(expected=) in JUnit 5
  • Only declaring throws without assertion
  • Not using @Test annotation
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