package de.bechte.junit.runners.context.statements.builder.acceptancetest;
import org.junit.rules.MethodRule;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.Statement;
import java.lang.reflect.Field;
public class FieldInstantiator implements MethodRule {
public Statement apply(final Statement base, FrameworkMethod method, final Object target) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
Field fieldToBeSet = target.getClass().getDeclaredField("fieldToBeSet");
fieldToBeSet.setAccessible(true);
fieldToBeSet.set(target, new Object());
fieldToBeSet.setAccessible(false);
base.evaluate();
}
};
}
}