Package org.assertj.core.api
Class DefaultAssertionErrorCollector
java.lang.Object
org.assertj.core.api.DefaultAssertionErrorCollector
- All Implemented Interfaces:
AfterAssertionErrorCollected
,AssertionErrorCollector
- Direct Known Subclasses:
AbstractSoftAssertions
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns a list of soft assertions collected errors.void
This method can be used to collect soft assertion errors.decorateErrorsCollected
(List<? extends T> errors) Modifies collected errors.void
setAfterAssertionErrorCollected
(AfterAssertionErrorCollected afterAssertionErrorCollected) Register a callback allowing to react after anAssertionError
is collected by the current soft assertion.void
setDelegate
(AssertionErrorCollector delegate) Optionally sets a "delegate" collector into which the collected assertions will be deposited.void
Indicates/sets that the last assertion was a success.boolean
Returns the result of last soft assertion which can be used to decide what the next one should be.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.assertj.core.api.AssertionErrorCollector
onAssertionErrorCollected
-
Constructor Details
-
DefaultAssertionErrorCollector
public DefaultAssertionErrorCollector()
-
-
Method Details
-
setDelegate
Description copied from interface:AssertionErrorCollector
Optionally sets a "delegate" collector into which the collected assertions will be deposited.Note that if you set a delegate, this instance will no longer collect or report assertion errors itself but will forward them all to the delegate for collection.
- Specified by:
setDelegate
in interfaceAssertionErrorCollector
- Parameters:
delegate
- theAssertionErrorCollector
to which the assertions will be forwarded.
-
getDelegate
- Specified by:
getDelegate
in interfaceAssertionErrorCollector
-
collectAssertionError
Description copied from interface:AssertionErrorCollector
This method can be used to collect soft assertion errors.To be able to react after an assertion error is collected, use
AssertionErrorCollector.onAssertionErrorCollected(AssertionError)
.- Specified by:
collectAssertionError
in interfaceAssertionErrorCollector
- Parameters:
error
- theAssertionError
to collect.
-
assertionErrorsCollected
Returns a list of soft assertions collected errors. If a delegate has been set (seesetDelegate()
, then this method will return the result of the delegate'sassertErrorsCollected()
.- Specified by:
assertionErrorsCollected
in interfaceAssertionErrorCollector
- Returns:
- A list of soft assertions collected errors.
-
setAfterAssertionErrorCollected
public void setAfterAssertionErrorCollected(AfterAssertionErrorCollected afterAssertionErrorCollected) Register a callback allowing to react after anAssertionError
is collected by the current soft assertion.The callback is an instance of
AfterAssertionErrorCollected
which can be expressed as lambda.Example:
SoftAssertions softly = new SoftAssertions(); StringBuilder reportBuilder = new StringBuilder(format("Assertions report:%n")); // register our callback softly.setAfterAssertionErrorCollected(error -> reportBuilder.append(String.format("------------------%n%s%n", error.getMessage()))); // the AssertionError corresponding to the failing assertions are registered in the report softly.assertThat("The Beatles").isEqualTo("The Rolling Stones"); softly.assertThat(123).isEqualTo(123) .isEqualTo(456);
resulting
reportBuilder
:Assertions report: ------------------ Expecting: <"The Beatles"> to be equal to: <"The Rolling Stones"> but was not. ------------------ Expecting: <123> to be equal to: <456> but was not.
Alternatively, if you have defined your own SoftAssertions subclass and inherited from
AbstractSoftAssertions
, the only thing you have to do is to overrideAfterAssertionErrorCollected.onAssertionErrorCollected(AssertionError)
.- Parameters:
afterAssertionErrorCollected
- the callback.- Since:
- 3.17.0
-
succeeded
public void succeeded()Description copied from interface:AssertionErrorCollector
Indicates/sets that the last assertion was a success.- Specified by:
succeeded
in interfaceAssertionErrorCollector
-
wasSuccess
public boolean wasSuccess()Description copied from interface:AssertionErrorCollector
Returns the result of last soft assertion which can be used to decide what the next one should be.Example:
Person person = ... SoftAssertions soft = new SoftAssertions(); if (soft.assertThat(person.getAddress()).isNotNull().wasSuccess()) { soft.assertThat(person.getAddress().getStreet()).isNotNull(); }
- Specified by:
wasSuccess
in interfaceAssertionErrorCollector
- Returns:
- true if the last assertion was a success.
-
decorateErrorsCollected
Modifies collected errors. Override to customize modification.- Type Parameters:
T
- the supertype to use in the list return value- Parameters:
errors
- list of errors to decorate- Returns:
- decorated list
-