Search code examples
javaloggingassertionsassertj

AssertJ to log assertion's results


I'm trying to understand if is possible to configure AssertJ to log the negative result of an assertion to a file without interrupting the routing that is running the comparison.

The reason behind this request is that we are comparing the JSON generated by two version of a software to spot differences, but instead of manually creating all the checks I would like to leverage the functionalities already available in AssertJ.

As a possible solution to this I was thinking of using a try/catch for assertion exceptions, but I'm really concerned about the overall performance of the routine.

Any idea?


Solution

  • You can access the error message by catching the AssertionError, then use whatever logging framework. If you want to capture all the errors (and not fail at the first one), use soft assertions.