Interface AfterAssertionErrorCollected

All Known Subinterfaces:
AssertionErrorCollector, 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
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface AfterAssertionErrorCollected
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This method is called after each AssertionError is collected by soft assertions (you can't prevent the error to be collected).
  • Method Details

    • onAssertionErrorCollected

      void onAssertionErrorCollected(AssertionError assertionError)
      This method is called after each AssertionError is collected by soft assertions (you can't prevent the error to be collected).

      SoftAssertionsProvider provides a do-nothing implementation which you can override in your own custom soft assertions class.
      Note that your custom soft assertions class must extend AbstractSoftAssertions as 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 DefaultAssertionErrorCollector.setAfterAssertionErrorCollected(AfterAssertionErrorCollected).

      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.setAfterAssertionErrorCollected(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");
      Parameters:
      assertionError - the collected AssertionError.