Interface AssertionErrorCollector
- All Superinterfaces:
AfterAssertionErrorCollected
- All Known Subinterfaces:
AutoCloseableSoftAssertionsProvider,BDDSoftAssertionsProvider,Java6BDDSoftAssertionsProvider,Java6StandardSoftAssertionsProvider,SoftAssertionsProvider,SoftAssertionsRule,StandardSoftAssertionsProvider
- All Known Implementing Classes:
AbstractSoftAssertions,AutoCloseableBDDSoftAssertions,AutoCloseableSoftAssertions,BDDSoftAssertions,DefaultAssertionErrorCollector,Java6BDDSoftAssertions,Java6JUnitBDDSoftAssertions,Java6JUnitSoftAssertions,Java6SoftAssertions,JUnitBDDSoftAssertions,JUnitJupiterBDDSoftAssertions,JUnitJupiterSoftAssertions,JUnitSoftAssertions,SoftAssertions
-
Method Summary
Modifier and TypeMethodDescriptionvoidThis method can be used to collect soft assertion errors.default Optional<AssertionErrorCollector> default voidonAssertionErrorCollected(AssertionError assertionError) This method is called after eachAssertionErroris collected by soft assertions (you can't prevent the error to be collected).default voidsetDelegate(AssertionErrorCollector delegate) Optionally sets a "delegate" collector into which the collected assertions will be deposited.voidIndicates/sets that the last assertion was a success.booleanReturns the result of last soft assertion which can be used to decide what the next one should be.
-
Method Details
-
setDelegate
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.
- Parameters:
delegate- theAssertionErrorCollectorto which the assertions will be forwarded.
-
getDelegate
-
collectAssertionError
This method can be used to collect soft assertion errors.To be able to react after an assertion error is collected, use
onAssertionErrorCollected(AssertionError).- Parameters:
error- theAssertionErrorto collect.
-
assertionErrorsCollected
List<AssertionError> assertionErrorsCollected() -
onAssertionErrorCollected
Description copied from interface:AfterAssertionErrorCollectedThis method is called after eachAssertionErroris collected by soft assertions (you can't prevent the error to be collected).SoftAssertionsProviderprovides a do-nothing implementation which you can override in your own custom soft assertions class.
Note that your custom soft assertions class must extendAbstractSoftAssertionsas this is where the actual soft assertion errors collection is implemented.If you just use the standard soft assertions classes provided by AssertJ, you can register your callback with
setAfterAssertionErrorCollected(AfterAssertionErrorCollected)oraddAfterAssertionErrorCollected(AfterAssertionErrorCollected)if you have many.Example with custom soft assertions:
class TolkienSoftAssertions extends SoftAssertions { public TolkienHeroesAssert assertThat(TolkienHero actual) { return proxy(TolkienHeroesAssert.class, TolkienHero.class, actual); } @Override public void onAssertionErrorCollected(AssertionError assertionError) { System.out.println(assertionError); } } TolkienSoftAssertions softly = new TolkienSoftAssertions(); TolkienCharacter frodo = TolkienCharacter.of("Frodo", 33, HOBBIT); // the AssertionError corresponding to this failing assertion is printed to the console. softly.assertThat(frodo).hasName("Bilbo");Example with standard soft assertions:
SoftAssertions softly = new SoftAssertions(); // register our callback softly.addAfterAssertionErrorCollected(error -> System.out.println(error)); // the AssertionError corresponding to this failing assertion is printed to the console. softly.assertThat("The Beatles").isEqualTo("The Rolling Stones");- Specified by:
onAssertionErrorCollectedin interfaceAfterAssertionErrorCollected- Parameters:
assertionError- the collectedAssertionError.
-
succeeded
void succeeded()Indicates/sets that the last assertion was a success. -
wasSuccess
boolean wasSuccess()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(); }- Returns:
- true if the last assertion was a success.
-