Bird
Raised Fist0
JUnittesting~5 mins

@Test annotation in JUnit - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the @Test annotation in JUnit?
The @Test annotation marks a method as a test method that JUnit will run automatically during testing.
Click to reveal answer
beginner
Can a method without @Test annotation be run as a test in JUnit?
No, only methods annotated with @Test are recognized and run as tests by JUnit.
Click to reveal answer
intermediate
How do you indicate that a test method is expected to throw an exception using @Test?
You add the expected parameter to @Test, for example: @Test(expected = IllegalArgumentException.class).
Click to reveal answer
beginner
What happens if a test method annotated with @Test fails an assertion?
JUnit marks the test as failed and reports the failure in the test results.
Click to reveal answer
intermediate
Is it possible to run a test method multiple times automatically using @Test alone?
No, @Test alone does not support running a test multiple times. You need additional tools or annotations like @RepeatedTest in JUnit 5.
Click to reveal answer
What does the @Test annotation do in JUnit?
AMarks a method to run before all tests
BMarks a method to be ignored
CMarks a method as private
DMarks a method to be run as a test
How do you specify that a test should expect an exception using @Test?
AUse <code>@Test(expected = Exception.class)</code>
BUse <code>@Test(timeout = 1000)</code>
CUse <code>@Test(ignore = true)</code>
DUse <code>@Test(repeat = 3)</code>
If a method is not annotated with @Test, what happens when you run JUnit tests?
AThe method runs as a test anyway
BThe method is not run as a test
CJUnit throws an error
DThe method runs before tests
What is the default behavior if a test method annotated with @Test throws no exception and all assertions pass?
ATest passes
BTest fails
CTest is ignored
DTest is skipped
Which JUnit annotation is used to run a test multiple times, not @Test?
A<code>@Test(repeat = 3)</code>
B<code>@TestMultiple</code>
C<code>@RepeatedTest</code>
D<code>@RunMultiple</code>
Explain the role of the @Test annotation in JUnit testing.
Think about how JUnit knows which methods to test.
You got /3 concepts.
    Describe how you can use the @Test annotation to check if a method throws an expected exception.
    Focus on the parameters inside the annotation.
    You got /3 concepts.

      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