Called when an atomic test fails, or when a listener throws an exception.
In the case of a failure of an atomic test, this method will be called with the same {@code Description} passed to{@link #testStarted(Description)}, from the same thread that called {@link #testStarted(Description)}.
In the case of a listener throwing an exception, this will be called with a {@code Description} of {@link Description#TEST_MECHANISM}, and may be called on an arbitrary thread.
@param failure describes the test that failed and the exception that was thrown