package com.softwaremill.common.arquillian;
import org.jboss.arquillian.testng.Arquillian;
import org.testng.IHookCallBack;
import org.testng.ITestResult;
public abstract class BetterArquillian extends Arquillian {
protected void beforeMethodWithDependencies() { }
protected void afterMethodWithDependencies() { }
@Override
public void run(final IHookCallBack callback, ITestResult testResult) {
super.run(new IHookCallBack() {
@Override
public void runTestMethod(ITestResult testResult) {
beforeMethodWithDependencies();
try {
callback.runTestMethod(testResult);
} finally {
afterMethodWithDependencies();
}
}
@Override
public Object[] getParameters() {
return callback.getParameters();
}
}, testResult);
}
}