The following methods are to group multiple assertions and ensure that all of them are executed, even if one or more of the assertions fail.
public static void assertAll(Executable... executables) throws MultipleFailuresError
public static void assertAll(Stream<Executable> executables) throws MultipleFailuresError
public static void assertAll(String heading, Executable... executables) throws MultipleFailuresError
public static void assertAll(String heading, Stream<Executable> executables) throws MultipleFailuresError
Example
package com.logicbig.example;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AssertAllExamplesTest {
@Test
void testBasicMath() {
assertAll("basic math",
() -> assertEquals(4, 2 + 2),
() -> assertEquals(9, 3 * 3),
() -> assertTrue(10 > 5),
() -> assertNotEquals(0, 1)
);
}
@Test
void testVariousValues() {
assertAll("values",
() -> assertEquals("Hello", "He" + "llo"),
() -> assertTrue("abc".startsWith("a")),
() -> assertFalse("xyz".contains("a")),
() -> assertEquals(100, Integer.parseInt("100"))
);
}
@Test
void testGroupedAssertions() {
assertAll("group",
() -> assertAll("string checks",
() -> assertEquals(5, "12345".length()),
() -> assertTrue("Java".contains("J"))
),
() -> assertAll("numeric checks",
() -> assertEquals(20, 10 + 10),
() -> assertTrue(50 > 10)
)
);
}
}
mvn test -Dtest=AssertAllExamplesTest OutputD:\example-projects\junit-5\junit-5-assertions\junit-5-grouped-assertions>mvn test -Dtest=AssertAllExamplesTest [INFO] Scanning for projects... [INFO] [INFO] ----------< com.logicbig.example:junit-5-grouped-assertions >----------- [INFO] Building junit-5-grouped-assertions 1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ junit-5-grouped-assertions --- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory D:\example-projects\junit-5\junit-5-assertions\junit-5-grouped-assertions\src\main\resources [INFO] [INFO] --- compiler:3.14.1:compile (default-compile) @ junit-5-grouped-assertions --- [INFO] Nothing to compile - all classes are up to date. [INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ junit-5-grouped-assertions --- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory D:\example-projects\junit-5\junit-5-assertions\junit-5-grouped-assertions\src\test\resources [INFO] [INFO] --- compiler:3.14.1:testCompile (default-testCompile) @ junit-5-grouped-assertions --- [INFO] Recompiling the module because of added or removed source files. [INFO] Compiling 1 source file with javac [debug target 25] to target\test-classes [INFO] [INFO] --- surefire:3.2.5:test (default-test) @ junit-5-grouped-assertions --- [INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running com.logicbig.example.AssertAllExamplesTest [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 s -- in com.logicbig.example.AssertAllExamplesTest [INFO] [INFO] Results: [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.067 s [INFO] Finished at: 2025-12-01T12:47:59+08:00 [INFO] ------------------------------------------------------------------------
Example ProjectDependencies and Technologies Used: - junit-jupiter-engine 6.0.1 (Module "junit-jupiter-engine" of JUnit)
Version Compatibility: 5.0.0 - 6.0.1 Version compatibilities of junit-jupiter-engine with this example:
- 5.0.0
- 5.0.1
- 5.0.2
- 5.0.3
- 5.1.0
- 5.1.1
- 5.2.0
- 5.3.0
- 5.3.1
- 5.3.2
- 5.4.0
- 5.4.1
- 5.4.2
- 5.5.0
- 5.5.1
- 5.5.2
- 5.6.0
- 5.6.1
- 5.6.2
- 5.6.3
- 5.7.0
- 5.7.1
- 5.7.2
- 5.8.0
- 5.8.1
- 5.8.2
- 5.9.0
- 5.9.1
- 5.9.2
- 5.9.3
- 5.10.0
- 5.10.1
- 5.10.2
- 5.10.3
- 5.10.4
- 5.10.5
- 5.11.0
- 5.11.1
- 5.11.2
- 5.11.3
- 5.11.4
- 5.12.0
- 5.12.1
- 5.12.2
- 5.13.0
- 5.13.1
- 5.13.2
- 5.13.3
- 5.13.4
- 5.14.0
- 5.14.1
- 6.0.0
- 6.0.1
Versions in green have been tested.
- JDK 25
- Maven 3.9.11
|
|