A JUnit test checks if a small part of your code works correctly by running it automatically and comparing the result to what you expect.
Click to reveal answer
beginner
What annotation marks a method as a test in JUnit?
The @Test annotation tells JUnit that the method below it is a test method to run.
Click to reveal answer
beginner
What does the assertion assertEquals(expected, actual) do in a JUnit test?
It checks if the actual result from the code matches the expected result. If they are equal, the test passes; if not, it fails.
Click to reveal answer
beginner
How do you write a simple JUnit test method to check if 2 + 3 equals 5?
Use @Test annotation and inside the method call assertEquals(5, 2 + 3); to check the sum.
Click to reveal answer
beginner
Why is it important to keep JUnit tests small and focused?
Small tests are easier to understand, faster to run, and help find problems quickly because they test only one thing at a time.
Click to reveal answer
Which annotation is used to mark a method as a test in JUnit?
A@Check
B@Run
C@Verify
D@Test
✗ Incorrect
The correct annotation to mark a test method in JUnit is @Test.
What does assertEquals(5, 2 + 3) check in a JUnit test?
AIf 5 equals 2 + 3 plus 1
BIf 2 + 3 is greater than 5
CIf 2 + 3 equals 5
DIf 5 is less than 2 + 3
✗ Incorrect
It checks if the sum of 2 + 3 equals 5.
What happens if an assertion in a JUnit test fails?
AThe test fails and reports an error
BThe test passes silently
CThe test skips the assertion
DThe test restarts automatically
✗ Incorrect
If an assertion fails, JUnit marks the test as failed and shows an error.
Which of these is a good practice for writing JUnit tests?
ATest one small thing per test method
BTest many things in one method
CAvoid using assertions
DWrite tests only after the project is finished
✗ Incorrect
Testing one small thing per method makes tests clear and easy to fix.
What is the minimum Java version required to run JUnit 5 tests?
AJava 17
BJava 8
CJava 11
DJava 6
✗ Incorrect
JUnit 5 requires at least Java 8 to run.
Explain how to write and run your first JUnit test method.
Think about the steps from writing code to checking results.
You got /4 concepts.
Describe why assertions are important in JUnit tests.
Assertions are like checkpoints in your test.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of a JUnit test method marked with @Test?
easy
A. To check if a piece of code works as expected
B. To create a new Java class
C. To print output to the console
D. To declare a variable
Solution
Step 1: Understand the role of @Test annotation
The @Test annotation marks a method as a test method in JUnit, meaning it will be run to check code behavior.
Step 2: Identify the purpose of test methods
Test methods verify if the code produces the expected results, helping find bugs or confirm correctness.
Final Answer:
To check if a piece of code works as expected -> Option A
Quick Check:
JUnit @Test marks test methods [OK]
Hint: JUnit tests verify code correctness using @Test [OK]
Common Mistakes:
Thinking @Test creates classes
Confusing test methods with print statements
Using @Test to declare variables
2. Which of the following is the correct way to write a simple JUnit 5 test method?
easy
A. public void testMethod() { assertEquals(5, 2 + 3); }
B. void testMethod() { assertEquals(5, 2 + 3); }
C. @Test public void testMethod() { assertEquals(5, 2 + 3); }
D. @Test void testMethod() { System.out.println(5); }
Solution
Step 1: Check for @Test annotation
JUnit 5 requires the @Test annotation to mark a method as a test.
Step 2: Verify method signature and assertion
The method should be public void with an assertion like assertEquals(expected, actual). @Test public void testMethod() { assertEquals(5, 2 + 3); } matches this.
Final Answer:
@Test public void testMethod() { assertEquals(5, 2 + 3); } -> Option C
Quick Check:
JUnit test method needs @Test and assertion [OK]
Hint: Always use @Test before test methods [OK]
Common Mistakes:
Missing @Test annotation
Wrong method visibility or return type
Using print statements instead of assertions
3. What will be the result of running this JUnit test?
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
public class SampleTest {
@Test
void additionTest() {
assertEquals(10, 5 + 5);
}
}
medium
A. Runtime exception occurs
B. Test passes successfully
C. Compilation error due to missing import
D. Test fails with assertion error
Solution
Step 1: Analyze the assertion
The test asserts that 5 + 5 equals 10, which is true.
Step 2: Check for syntax and imports
All necessary imports and syntax are correct, so the test will run without errors.
Final Answer:
Test passes successfully -> Option B
Quick Check:
Correct assertion means test passes [OK]
Hint: True assertions make tests pass [OK]
Common Mistakes:
Assuming test fails when assertion is true
Missing static import for assertions
Confusing compilation errors with runtime errors
4. Identify the error in this JUnit test code:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class CalcTest {
@Test
public void testSum() {
int result = 2 + 2;
assertEquals(5, result);
}
}
medium
A. The assertion expects wrong value causing test failure
B. Missing @Test annotation
C. Method should return int, not void
D. No import for assertEquals
Solution
Step 1: Check the assertion values
The test expects 5 but the actual result is 4 (2 + 2), so the assertion will fail.
Step 2: Verify annotations and imports
The @Test annotation and imports are correct, so no syntax errors exist.
Final Answer:
The assertion expects wrong value causing test failure -> Option A
Quick Check:
Assertion mismatch causes test failure [OK]
Hint: Check expected vs actual values in assertions [OK]
Common Mistakes:
Ignoring assertion expected value
Thinking missing annotation causes failure here
Confusing method return types in tests
5. You want to write a JUnit test that checks if a method multiply(int a, int b) returns 0 when one input is 0. Which test method is correct?
hard
A. @Test public void testMultiplyZero() { assertEquals(5, multiply(0, 5)); }
B. public void testMultiplyZero() { assertEquals(0, multiply(0, 5)); }
C. @Test public int testMultiplyZero() { return multiply(0, 5); }
D. @Test public void testMultiplyZero() { assertEquals(0, multiply(0, 5)); }
Solution
Step 1: Confirm @Test annotation and method signature
The test method must be annotated with @Test and return void. @Test public void testMultiplyZero() { assertEquals(0, multiply(0, 5)); } meets this.
Step 2: Check assertion correctness
The method should assert that multiplying by zero returns zero. @Test public void testMultiplyZero() { assertEquals(0, multiply(0, 5)); } asserts assertEquals(0, multiply(0, 5)), which is correct.
Final Answer:
@Test public void testMultiplyZero() { assertEquals(0, multiply(0, 5)); } -> Option D
Quick Check:
Use @Test, void method, correct assertion [OK]
Hint: Test methods need @Test, void, and correct assertions [OK]
Common Mistakes:
Omitting @Test annotation
Using wrong return type in test method
Asserting wrong expected value
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.