Bird
Raised Fist0
JUnittesting~20 mins

assertNull and assertNotNull in JUnit - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
JUnit Null Assertion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ assertion
intermediate
2:00remaining
Using assertNull to check a null object
Given the following JUnit test snippet, what will be the test result when executed?
JUnit
String testString = null;
assertNull(testString);
ATest fails because testString is null
BTest passes because testString is null
CTest fails with NullPointerException
DTest passes but warns about null usage
Attempts:
2 left
💡 Hint
assertNull passes only if the object is null.
❓ assertion
intermediate
2:00remaining
Using assertNotNull to check a non-null object
What happens when the following JUnit assertion runs?
JUnit
String testString = "hello";
assertNotNull(testString);
ATest passes but logs a warning
BTest fails because testString is not null
CTest fails with NullPointerException
DTest passes because testString is not null
Attempts:
2 left
💡 Hint
assertNotNull passes only if the object is not null.
❓ Predict Output
advanced
2:00remaining
What error occurs with assertNull on a non-null object?
Consider this JUnit test code snippet. What is the test result?
JUnit
Integer number = 5;
assertNull(number);
ATest fails because number is not null
BTest passes because 5 is a valid Integer
CTest fails with NullPointerException
DTest passes but warns about non-null value
Attempts:
2 left
💡 Hint
assertNull expects the object to be null to pass.
❓ Predict Output
advanced
2:00remaining
What happens when assertNotNull is used on a null object?
Analyze this JUnit test snippet and select the correct test result.
JUnit
Object obj = null;
assertNotNull(obj);
ATest fails because obj is null
BTest passes because obj is declared
CTest throws NullPointerException
DTest passes but logs a warning
Attempts:
2 left
💡 Hint
assertNotNull fails if the object is null.
🧠 Conceptual
expert
2:00remaining
Choosing correct assertion for null checks in JUnit
You want to write a test that confirms a method returns null when no data is found. Which assertion is the best choice?
AassertNotNull because it confirms the object exists
BassertTrue with a null check inside
CassertNull because it confirms the object is null
DassertEquals with an empty string
Attempts:
2 left
💡 Hint
Use assertNull to check if an object is null directly.

Practice

(1/5)
1. What does the JUnit method assertNull(object) verify in a test?
easy
A. That the object is not null (has a value)
B. That the object is null (has no value)
C. That the object is an instance of a class
D. That the object equals another object

Solution

  1. Step 1: Understand assertNull purpose

    The method assertNull checks if the given object is null, meaning it has no value assigned.
  2. Step 2: Compare options with definition

    That the object is null (has no value) matches the definition exactly, while others describe different checks.
  3. Final Answer:

    That the object is null (has no value) -> Option B
  4. Quick Check:

    assertNull = checks null [OK]
Hint: assertNull means value must be null to pass [OK]
Common Mistakes:
  • Confusing assertNull with assertNotNull
  • Thinking assertNull checks object type
  • Assuming assertNull compares equality
2. Which of the following is the correct syntax to assert that an object user is NOT null in JUnit?
easy
A. assertNotNull(user);
B. assertNull(user);
C. assertNotNull user;
D. assertNotNull(user == null);

Solution

  1. Step 1: Identify correct method usage

    The correct syntax calls assertNotNull as a method with parentheses and the object as argument.
  2. Step 2: Check each option

    assertNotNull(user); uses correct method call syntax. assertNull(user); uses assertNull which is opposite. assertNotNull user; misses parentheses. assertNotNull(user == null); passes a boolean expression, which is incorrect.
  3. Final Answer:

    assertNotNull(user); -> Option A
  4. Quick Check:

    assertNotNull(object) needs parentheses [OK]
Hint: assertNotNull requires parentheses around the object [OK]
Common Mistakes:
  • Omitting parentheses in method call
  • Using assertNull instead of assertNotNull
  • Passing boolean expressions instead of objects
3. Consider the following JUnit test snippet:
String name = null;
assertNull(name);
name = "Alice";
assertNotNull(name);

What will be the result of running this test?
medium
A. The test will fail at assertNotNull(name)
B. The test will fail at assertNull(name)
C. The test will pass successfully
D. The test will throw a NullPointerException

Solution

  1. Step 1: Analyze first assertion

    Initially, name is null, so assertNull(name) passes.
  2. Step 2: Analyze second assertion

    Then name is assigned "Alice", which is not null, so assertNotNull(name) passes.
  3. Final Answer:

    The test will pass successfully -> Option C
  4. Quick Check:

    assertNull(null) and assertNotNull(non-null) pass [OK]
Hint: assertNull passes if null; assertNotNull passes if not null [OK]
Common Mistakes:
  • Assuming assertNull fails if variable is null
  • Thinking assertNotNull fails with non-null value
  • Expecting exceptions from these assertions
4. Identify the error in this JUnit test code:
Object obj = new Object();
assertNull(obj);
medium
A. No error; test will pass
B. Runtime error: NullPointerException
C. Syntax error: missing semicolon
D. assertNull fails because obj is not null

Solution

  1. Step 1: Understand object initialization

    The variable obj is assigned a new Object instance, so it is not null.
  2. Step 2: Check assertion behavior

    assertNull(obj) expects null, but obj is not null, so the assertion fails.
  3. Final Answer:

    assertNull fails because obj is not null -> Option D
  4. Quick Check:

    assertNull(non-null) fails test [OK]
Hint: assertNull fails if object is created (not null) [OK]
Common Mistakes:
  • Assuming assertNull passes with any object
  • Confusing assertion failure with syntax error
  • Expecting exceptions instead of assertion failure
5. You have a method getUserEmail() that returns a String email or null if no email is set. Which JUnit assertions correctly test that the email is present and not empty?
hard
A. assertNotNull(email); assertTrue(!email.isEmpty());
B. assertNull(email); assertTrue(email.isEmpty());
C. assertNotNull(email); assertNull(email.isEmpty());
D. assertNull(email); assertFalse(email.isEmpty());

Solution

  1. Step 1: Check for non-null email

    Use assertNotNull(email) to ensure email is not null (exists).
  2. Step 2: Check email is not empty string

    Use assertTrue(!email.isEmpty()) to confirm email has characters.
  3. Final Answer:

    assertNotNull(email); assertTrue(!email.isEmpty()); -> Option A
  4. Quick Check:

    Not null and not empty = assertNotNull(email); assertTrue(!email.isEmpty()); [OK]
Hint: Check not null first, then check string is not empty [OK]
Common Mistakes:
  • Using assertNull when expecting a value
  • Checking isEmpty on null causing exceptions
  • Mixing assertNull with isEmpty checks incorrectly
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