Ralph Ralph -4 years ago 284
Java Question

Detect Failure or Error of Junit Test in @After method

Is there a way in JUnit to detect within an @After annotated method if there was a test failure or error in the test case?

One ugly solution would be something like that:

boolean withoutFailure = false;

void test() {
withoutFailure = true;

public void tearDown() {
if(!withoutFailuere) {

This is ugly because one need to take care of the "infrastructure" (withoutFailure flag) in the test code.

I hope that there is something where I can get the test status in the @After method!?

Answer Source

If you are lucky enough to be using JUnit 4.9 or later, TestWatcher will do exactly what you want.

Share and Enjoy!

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download