Test Overview
This test demonstrates how to use assumingThat in JUnit to run assertions only when a specific condition is true. It verifies that the assertion inside assumingThat runs only if the condition matches.
This test demonstrates how to use assumingThat in JUnit to run assertions only when a specific condition is true. It verifies that the assertion inside assumingThat runs only if the condition matches.
import static org.junit.jupiter.api.Assumptions.assumingThat; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; public class ConditionalAssertionTest { @Test void testConditionalAssertion() { String environment = "DEV"; assumingThat(environment.equals("DEV"), () -> { assertEquals(5, 2 + 3, "Sum should be 5 in DEV environment"); }); assumingThat(environment.equals("PROD"), () -> { assertEquals(10, 5 + 5, "Sum should be 10 in PROD environment"); }); } }
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts | JUnit test runner initialized | - | PASS |
| 2 | Test method 'testConditionalAssertion' invoked | Variable 'environment' set to 'DEV' | - | PASS |
| 3 | Check condition environment.equals("DEV") for assumingThat | Condition is true | Run assertion assertEquals(5, 2 + 3) | PASS |
| 4 | Assertion inside assumingThat for DEV environment executed | 2 + 3 equals 5 | assertEquals(5, 5) passes | PASS |
| 5 | Check condition environment.equals("PROD") for assumingThat | Condition is false | Assertion inside assumingThat skipped | PASS |
| 6 | Test method completes | No failures | - | PASS |