SoftAssertionsExtension
as of AssertJ 3.18.0.@Deprecated public class SoftlyExtension extends Object implements org.junit.jupiter.api.extension.AfterTestExecutionCallback, org.junit.jupiter.api.extension.TestInstancePostProcessor
SoftAssertions into a class test SoftAssertions field.
The injection occurs before each test method execution, after each test assertAll() is invoked to evaluate all test assertions.
A nested test class can provide a SoftAssertions field when it extends this extension or can inherit
the parent's Soft assertions field
This extension throws an IllegalStateException if:
TestInstance.Lifecycle.PER_CLASS (see explanation below).SoftAssertions fields are foundSoftAssertions field is found
Detecting multiple SoftAssertions fields is a best effort at the time of this writing, some cases are not detected.
Limitations:
PER_CLASS life cycle as the same SoftAssertions would be reused between tests.
If you hit such limitations, consider using SoftAssertionsExtension instead, since 3.18.0,
SoftAssertionsExtension supports field injection with neither of these two limitations.
Example:
@ExtendWith(SoftlyExtension.class)
public class SoftlyExtensionExample {
// initialized by the SoftlyExtension extension
private SoftAssertions soft;
@Test
public void chained_soft_assertions_example() {
String name = "Michael Jordan - Bulls";
soft.assertThat(name)
.startsWith("Mi")
.contains("Bulls");
// no need to call softly.assertAll(), this is done by the extension
}
// nested classes test work too
@Nested
class NestedExample {
@Test
public void football_assertions_example() {
String kylian = "Kylian Mbappé";
soft.assertThat(kylian)
.startsWith("Ky")
.contains("bap");
// no need to call softly.assertAll(), this is done by the extension
}
}
} | Constructor and Description |
|---|
SoftlyExtension()
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
void |
afterTestExecution(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Deprecated.
|
void |
postProcessTestInstance(Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Deprecated.
|
public void postProcessTestInstance(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception
postProcessTestInstance in interface org.junit.jupiter.api.extension.TestInstancePostProcessorExceptionCopyright © 2025. All rights reserved.