Bird
Raised Fist0
JUnittesting~5 mins

assertEquals in JUnit - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does assertEquals do in JUnit?

assertEquals checks if two values are the same. If they are not, the test fails.

Click to reveal answer
beginner
How do you write assertEquals to compare expected and actual values?

Use assertEquals(expected, actual). The first value is what you expect, the second is what your code gives.

Click to reveal answer
beginner
What happens if assertEquals fails during a test?

The test stops and reports failure. It shows the expected and actual values to help find the problem.

Click to reveal answer
intermediate
Can assertEquals compare objects in JUnit?

Yes, it compares objects using their equals() method. Objects must override equals() properly for correct comparison.

Click to reveal answer
beginner
Why is the order of parameters important in assertEquals(expected, actual)?

The order matters because failure messages show expected first, then actual. This helps understand test results clearly.

Click to reveal answer
What is the correct order of parameters in assertEquals?
Aactual only
Bactual, expected
Cexpected, actual
Dexpected only
What happens if assertEquals finds values are not equal?
ATest fails and stops
BTest ignores the difference
CTest passes
DTest retries automatically
Which method does assertEquals use to compare objects?
AcompareTo()
BhashCode()
CtoString()
Dequals()
Which of these is a valid assertEquals statement in JUnit?
AassertEquals()
BassertEquals(5, calculateSum())
CassertEquals(5)
DassertEquals(calculateSum(), 5)
Why should you use assertEquals instead of assertTrue(a == b)?
AassertEquals gives clearer failure messages
BassertTrue is faster
CassertEquals ignores differences
DassertTrue works only for strings
Explain how assertEquals works in JUnit and why the order of parameters matters.
Think about how test results help you find bugs.
You got /5 concepts.
    Describe how assertEquals compares objects and what you need to ensure for correct comparison.
    Consider how Java compares two objects by default.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of assertEquals in JUnit testing?
      easy
      A. To check if two values are equal and fail the test if not
      B. To print values during test execution
      C. To skip a test case
      D. To create a new test method

      Solution

      1. Step 1: Understand the role of assertEquals

        assertEquals compares two values: expected and actual.
      2. Step 2: Identify the test behavior

        If the values differ, the test fails, helping find bugs.
      3. Final Answer:

        To check if two values are equal and fail the test if not -> Option A
      4. Quick Check:

        assertEquals checks equality [OK]
      Hint: assertEquals fails test if values differ [OK]
      Common Mistakes:
      • Thinking assertEquals prints output
      • Confusing assertEquals with skipping tests
      • Using assertEquals to create tests
      2. Which of the following is the correct syntax for assertEquals with a message in JUnit?
      easy
      A. assertEquals("Error message", expected, actual);
      B. assertEquals(actual, expected, "Error message");
      C. assertEquals(expected, actual, "Error message");
      D. assertEquals("Error message", actual, expected);

      Solution

      1. Step 1: Recall assertEquals method signature with message

        The correct order is: message, expected, actual.
      2. Step 2: Match options with correct order

        assertEquals("Error message", expected, actual); matches this order exactly.
      3. Final Answer:

        assertEquals("Error message", expected, actual); -> Option A
      4. Quick Check:

        Message first, then expected, actual [OK]
      Hint: Message comes first in assertEquals with message [OK]
      Common Mistakes:
      • Swapping expected and actual parameters
      • Placing message last instead of first
      • Using actual before expected
      3. What will happen when this JUnit test runs?
      int expected = 5;
      int actual = 3 + 2;
      assertEquals(expected, actual);
      medium
      A. Compilation error due to wrong assertEquals usage
      B. Test fails because expected does not equal actual
      C. Test passes because expected equals actual
      D. Test is skipped automatically

      Solution

      1. Step 1: Calculate actual value

        3 + 2 equals 5, so actual is 5.
      2. Step 2: Compare expected and actual

        Both expected and actual are 5, so assertEquals passes.
      3. Final Answer:

        Test passes because expected equals actual -> Option C
      4. Quick Check:

        5 equals 5 means pass [OK]
      Hint: Calculate actual before comparing [OK]
      Common Mistakes:
      • Assuming 3 + 2 is not 5
      • Confusing expected and actual values
      • Thinking assertEquals causes compilation error here
      4. Identify the error in this JUnit assertion:
      assertEquals(5, "5");
      medium
      A. Runtime exception thrown
      B. No error, test passes
      C. Compilation error due to wrong parameter order
      D. Test fails because int and String types differ

      Solution

      1. Step 1: Check parameter types

        First is int 5, second is String "5".
      2. Step 2: Understand assertEquals behavior with different types

        assertEquals compares values and types; int and String differ, so test fails.
      3. Final Answer:

        Test fails because int and String types differ -> Option D
      4. Quick Check:

        Different types cause failure [OK]
      Hint: Types must match for assertEquals to pass [OK]
      Common Mistakes:
      • Assuming int 5 equals String "5"
      • Thinking parameter order is wrong here
      • Expecting compilation or runtime error
      5. You want to test a method that returns a list of strings. Which assertEquals usage **including a custom error message** correctly checks if the returned list matches List.of("a", "b")?
      List<String> expected = List.of("a", "b");
      List<String> actual = myMethod();
      hard
      A. assertEquals(expected, actual);
      B. assertEquals("Lists differ", expected, actual);
      C. assertEquals(expected.size(), actual.size());
      D. assertEquals(expected.toString(), actual.toString());

      Solution

      1. Step 1: Understand assertEquals for lists

        assertEquals compares lists by content if types match.
      2. Step 2: Check options for best practice

        assertEquals("Lists differ", expected, actual); adds a helpful message and uses correct parameter order.
      3. Final Answer:

        assertEquals("Lists differ", expected, actual); -> Option B
      4. Quick Check:

        Message first, then expected and actual [OK]
      Hint: Use message first with expected, actual for clarity [OK]
      Common Mistakes:
      • Comparing string representations instead of lists
      • Only comparing list sizes
      • Omitting message for clarity
      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