下面列出了怎么用org.junit.internal.runners.statements.RunAfters的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
protected Statement withAfterClasses(final Statement statement) {
// add test environment tear down
try {
final Statement newStatement = super.withAfterClasses(statement);
final Method tearDownMethod = GeoWaveITRunner.class.getDeclaredMethod("tearDown");
tearDownMethod.setAccessible(true);
return new RunAfters(
newStatement,
Collections.singletonList(new FrameworkMethod(tearDownMethod)),
this);
} catch (NoSuchMethodException | SecurityException e) {
LOGGER.warn("Unable to find tearDown method", e);
}
return super.withAfterClasses(statement);
}
@Override
protected Statement withAfterClasses(Statement statement) {
List<FrameworkMethod> afters = wrapInWebTauTestEntry(getTestClass()
.getAnnotatedMethods(AfterClass.class));
return afters.isEmpty() ? statement :
new RunAfters(statement, afters, null);
}
/**
* Adds any @AfterAll methods to be run after the normal @After annotated methods for the last test method only.
* <p>
* {@inheritDoc}
*/
@Override
protected Statement withAfters(final FrameworkMethod method, final Object target, final Statement stmt) {
ensureInitialized();
Statement statement = super.withAfters(method, target, stmt); // NOPMD.CloseResource
if (method.equals(Iterables.getLast(expectedMethods))) {
final List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods(AfterAll.class);
statement = afters.isEmpty() ? statement : new RunAfters(statement, afters, target);
}
return statement;
}
@Override
protected Statement withAfterClasses(final Statement statement) {
try {
final Statement newStatement = super.withAfterClasses(statement);
final Method tearDownMethod = GeoWaveITSuiteRunner.class.getDeclaredMethod("tearDown");
tearDownMethod.setAccessible(true);
return new RunAfters(
newStatement,
Collections.singletonList(new FrameworkMethod(tearDownMethod)),
this);
} catch (NoSuchMethodException | SecurityException e) {
LOGGER.warn("Unable to find tearDown method", e);
}
return super.withAfterClasses(statement);
}
/**
* @see org.junit.runners.BlockJUnit4ClassRunner#withAfters(FrameworkMethod, Object, Statement)
*/
private Statement withAfters( Object target, Statement statement )
{
List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods( After.class );
return afters.isEmpty() ? statement : new RunAfters( statement, afters, target );
}
public static RunAftersContiPerfAdapter create(RunAfters runBefores, Statement next)
throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
List<FrameworkMethod> befores = ReflectionUtils.getObjectByField(runBefores, runBefores.getClass(), "afters");
Object target = ReflectionUtils.getObjectByField(runBefores, runBefores.getClass(), "target");
return new RunAftersContiPerfAdapter(next, befores, target);
}
private Statement withAfterClasses(final Statement base) {
List<FrameworkMethod> afters = getAfterClassMethods();
return afters.isEmpty() ? base : new RunAfters(base, afters, null);
}
@Override
protected Statement withAfterClasses(Statement statement) {
List<FrameworkMethod> afters= getTestClass().getAnnotatedMethods(AfterPinpointPluginTest.class);
return afters.isEmpty() ? statement : new RunAfters(statement, afters, null);
}
private Statement withAfters(Object target, Statement statement) {
List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods(After.class);
return afters.isEmpty() ? statement : new RunAfters(statement, afters, target);
}
/**
* Returns a {@link org.junit.runners.model.Statement}: run all non-overridden {@code @AfterClass} methods on this class
* and superclasses before executing {@code statement}; all AfterClass methods are
* always executed: exceptions thrown by previous steps are combined, if
* necessary, with exceptions from AfterClass methods into a
* {@link org.junit.runners.model.MultipleFailureException}.
*/
protected Statement withAfterClasses(Statement statement) {
List<FrameworkMethod> afters = getTestClass()
.getAnnotatedMethods(AfterClass.class);
return afters.isEmpty() ? statement :
new RunAfters(statement, afters, null);
}
/**
* Returns a {@link org.junit.runners.model.Statement}: run all non-overridden {@code @After}
* methods on this class and superclasses before running {@code next}; all
* After methods are always executed: exceptions thrown by previous steps
* are combined, if necessary, with exceptions from After methods into a
* {@link org.junit.runners.model.MultipleFailureException}.
*
* @deprecated Will be private soon: use Rules instead
*/
@Deprecated
protected Statement withAfters(FrameworkMethod method, Object target,
Statement statement) {
List<FrameworkMethod> afters = getTestClass().getAnnotatedMethods(
After.class);
return afters.isEmpty() ? statement : new RunAfters(statement, afters,
target);
}