0
0
JUnittesting~20 mins

assumeTrue and assumeFalse in JUnit - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Assumptions Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the test execution result of this JUnit code snippet?
Consider the following JUnit 5 test method using assumeTrue. What will be the test execution result?
JUnit
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import org.junit.jupiter.api.Test;

public class SampleTest {
    @Test
    void testAssumption() {
        assumeTrue(2 + 2 == 4);
        System.out.println("Assumption passed");
    }
}
ATest passes and prints 'Assumption passed'
BTest is skipped because the assumption fails
CTest fails with an AssertionError
DTest throws a runtime exception
Attempts:
2 left
💡 Hint
assumeTrue continues test only if condition is true
Predict Output
intermediate
2:00remaining
What happens when assumeFalse condition is true in this test?
Look at this JUnit 5 test method using assumeFalse. What will be the test execution result?
JUnit
import static org.junit.jupiter.api.Assumptions.assumeFalse;
import org.junit.jupiter.api.Test;

public class SampleTest {
    @Test
    void testAssumptionFalse() {
        assumeFalse(5 > 3);
        System.out.println("Assumption false passed");
    }
}
ATest passes and prints 'Assumption false passed'
BTest fails with an AssertionError
CTest throws a runtime exception
DTest is skipped because the assumption fails
Attempts:
2 left
💡 Hint
assumeFalse skips test if condition is true
assertion
advanced
2:00remaining
Which assertion correctly uses assumeTrue to skip test if environment variable is missing?
You want to skip a test if the environment variable 'ENV' is not set. Which assumeTrue statement achieves this?
AassumeFalse(System.getenv("ENV") == null);
BassumeTrue(System.getenv("ENV") == null);
CassumeTrue(System.getenv("ENV") != null);
DassumeFalse(System.getenv("ENV") != null);
Attempts:
2 left
💡 Hint
assumeTrue continues only if condition is true
🔧 Debug
advanced
2:00remaining
Why does this test never run its assertions?
Examine this JUnit 5 test method. Why are the assertions never executed?
JUnit
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

public class SampleTest {
    @Test
    void testSkipped() {
        assumeTrue(false);
        assertEquals(5, 2 + 3);
    }
}
AassertEquals is incorrectly used and throws an exception
BassumeTrue(false) causes the test to be skipped before assertions
CTest method is missing @Test annotation
DassumeTrue does not affect test execution
Attempts:
2 left
💡 Hint
assumeTrue skips test if condition is false
🧠 Conceptual
expert
2:00remaining
What is the main difference between assumeTrue and assertTrue in JUnit?
Choose the best explanation of how assumeTrue differs from assertTrue in JUnit testing.
AassumeTrue skips the test if condition is false; assertTrue fails the test if condition is false
BBoth assumeTrue and assertTrue skip the test if condition is false
CassumeTrue fails the test if condition is false; assertTrue skips the test if condition is false
DBoth assumeTrue and assertTrue fail the test if condition is false
Attempts:
2 left
💡 Hint
Think about test skipping versus test failure