本文整理汇总了Java中org.junit.internal.runners.model.ReflectiveCallable类的典型用法代码示例。如果您正苦于以下问题:Java ReflectiveCallable类的具体用法?Java ReflectiveCallable怎么用?Java ReflectiveCallable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ReflectiveCallable类属于org.junit.internal.runners.model包,在下文中一共展示了ReflectiveCallable类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
protected Statement methodBlock(FrameworkMethod method) {
Object test;
try {
test = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (Throwable e) {
return new Fail(e);
}
Statement statement = methodInvoker(method, test);
statement = possiblyExpectingExceptions(method, test, statement);
statement = withPotentialTimeout(method, test, statement);
statement = withBefores(method, test, statement);
statement = withAfters(method, test, statement);
statement = withRules(method, test, statement);
return statement;
}
示例2: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
/**
* Augment the default JUnit behavior
* {@linkplain #withPotentialRepeat with potential repeats} of the entire
* execution chain.
* <p>Furthermore, support for timeouts has been moved down the execution
* chain in order to include execution of {@link org.junit.Before @Before}
* and {@link org.junit.After @After} methods within the timed execution.
* Note that this differs from the default JUnit behavior of executing
* {@code @Before} and {@code @After} methods in the main thread while
* executing the actual test method in a separate thread. Thus, the net
* effect is that {@code @Before} and {@code @After} methods will be
* executed in the same thread as the test method. As a consequence,
* JUnit-specified timeouts will work fine in combination with Spring
* transactions. However, JUnit-specific timeouts still differ from
* Spring-specific timeouts in that the former execute in a separate
* thread while the latter simply execute in the main thread (like regular
* tests).
* @see #possiblyExpectingExceptions(FrameworkMethod, Object, Statement)
* @see #withBefores(FrameworkMethod, Object, Statement)
* @see #withAfters(FrameworkMethod, Object, Statement)
* @see #withRulesReflectively(FrameworkMethod, Object, Statement)
* @see #withPotentialRepeat(FrameworkMethod, Object, Statement)
* @see #withPotentialTimeout(FrameworkMethod, Object, Statement)
*/
@Override
protected Statement methodBlock(FrameworkMethod frameworkMethod) {
Object testInstance;
try {
testInstance = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
}
catch (Throwable ex) {
return new Fail(ex);
}
Statement statement = methodInvoker(frameworkMethod, testInstance);
statement = possiblyExpectingExceptions(frameworkMethod, testInstance, statement);
statement = withBefores(frameworkMethod, testInstance, statement);
statement = withAfters(frameworkMethod, testInstance, statement);
statement = withRulesReflectively(frameworkMethod, testInstance, statement);
statement = withPotentialRepeat(frameworkMethod, testInstance, statement);
statement = withPotentialTimeout(frameworkMethod, testInstance, statement);
return statement;
}
示例3: buildStatementWithTestRules
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
/**
* Extends a given {@link Statement} for a {@link TestClass} with the evaluation of
* {@link TestRule}, {@link ClassRule}, {@link Before} and {@link After}.
* <p>
* Therefore the test class will be instantiated and parameters will be injected with the same
* mechanism as in {@link Parameterized}.
*
* Implementation has been extracted from BlockJUnit4ClassRunner#methodBlock(FrameworkMethod).
*
* @param baseStatementWithChildren - A {@link Statement} that includes execution of the test's
* children
* @param testClass - The {@link TestClass} of the test.
* @param description - The {@link Description} will be passed to the {@link Rule}s and
* {@link ClassRule}s.
* @param singleParameter - The parameters will be injected in attributes annotated with
* {@link Parameterized.Parameter} or passed to the constructor otherwise.
*
* @see BlockJUnit4ClassRunnerWithParameters#createTest()
* @see BlockJUnit4ClassRunner#methodBlock(FrameworkMethod)
*/
public static Statement buildStatementWithTestRules(Statement baseStatementWithChildren, final TestClass testClass, Description description,
final Object[] singleParameter) {
final Object test;
try {
test = new ReflectiveCallable() {
protected Object runReflectiveCall() throws Throwable {
return createInstanceOfParameterizedTest(testClass, singleParameter);
}
}.run();
} catch (Throwable e) {
return new Fail(e);
}
List<TestRule> testRules = BlockJUnit4ClassRunnerUtil.getTestRules(test, testClass);
Statement statement = BlockJUnit4ClassRunnerUtil.withTestRules(testRules, description, baseStatementWithChildren);
statement = ParentRunnerUtil.withBeforeClasses(statement, testClass);
statement = ParentRunnerUtil.withAfterClasses(statement, testClass);
statement = ParentRunnerUtil.withClassRules(statement, testClass, description);
return statement;
}
开发者ID:PeterWippermann,项目名称:parameterized-suite,代码行数:42,代码来源:BlockJUnit4ClassRunnerWithParametersUtil.java
示例4: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
/**
* Augment the default JUnit behavior
* <p>Furthermore, support for timeouts has been moved down the execution
* chain in order to include execution of {@link org.junit.Before @Before}
* and {@link org.junit.After @After} methods within the timed execution.
* Note that this differs from the default JUnit behavior of executing
* {@code @Before} and {@code @After} methods in the main thread while
* executing the actual test method in a separate thread. Thus, the net
* effect is that {@code @Before} and {@code @After} methods will be
* executed in the same thread as the test method. As a consequence,
* JUnit-specified timeouts will work fine in combination with Spring
* transactions. However, JUnit-specific timeouts still differ from
* Spring-specific timeouts in that the former execute in a separate
* thread while the latter simply execute in the main thread (like regular
* tests).
*
* @see #methodInvoker(FrameworkMethod, Object)
* @see #possiblyExpectingExceptions(FrameworkMethod, Object, Statement)
* @see #withBefores(FrameworkMethod, Object, Statement)
* @see #withAfters(FrameworkMethod, Object, Statement)
* @see #withPotentialTimeout(FrameworkMethod, Object, Statement)
*/
@Override
protected Statement methodBlock(FrameworkMethod frameworkMethod) {
Object testInstance;
try {
testInstance = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (Throwable ex) {
return new Fail(ex);
}
Environment.inject(testInstance);
Statement statement = methodInvoker(frameworkMethod, testInstance);
statement = possiblyExpectingExceptions(frameworkMethod, testInstance, statement);
statement = withBefores(frameworkMethod, testInstance, statement);
statement = withAfters(frameworkMethod, testInstance, statement);
statement = withPotentialTimeout(frameworkMethod, testInstance, statement);
return statement;
}
示例5: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
@Override
protected Statement methodBlock(FrameworkMethod frameworkMethod) {
testContext = new TestContextImpl(new HashMap<>(classAttributes), null);
Object testInstance;
try {
testInstance = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (Throwable ex) {
return new Fail(ex);
}
Environment.inject(testInstance);
Statement statement = methodInvoker(frameworkMethod, testInstance);
statement = possiblyExpectingExceptions(frameworkMethod, testInstance, statement);
statement = withBefores(frameworkMethod, testInstance, statement);
statement = withAfters(frameworkMethod, testInstance, statement);
statement = withPotentialTimeout(frameworkMethod, testInstance, statement);
testContext = null;
return statement;
}
示例6: makeLink
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
public ParentRunner<?> makeLink(Class<? extends ParentRunner<?>> runnerClass, final Class<?> testClass,
final CompositeRunner compositeRunner, final ParentRunner<?> nextRunner,
boolean isTestStructureProvider) throws InitializationError {
ClassPool pool = ClassPool.getDefault();
String newClassName = runnerClass.getName() + (isTestStructureProvider ? "TestStructureProvider" : "ChainLink");
final Class<?> newRunnerCtClass = makeLinkClass(pool, newClassName, runnerClass, isTestStructureProvider);
try {
return (ParentRunner<?>) new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return newRunnerCtClass.getConstructor(Class.class, CompositeRunner.class, ParentRunner.class)
.newInstance(testClass, compositeRunner, nextRunner);
}
}.run();
} catch (InitializationError e) {
throw e;
} catch (Throwable throwable) {
throw new RuntimeException(throwable);
}
}
示例7: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
protected Statement methodBlock( FuzzUnitTestMethod testMethod )
{
Object test;
try {
test = new ReflectiveCallable()
{
@Override
protected Object runReflectiveCall() throws Throwable
{
return createTest();
}
}.run();
} catch( Throwable e ) {
return new Fail( e );
}
Statement statement = methodInvoker( testMethod, test );
statement = withRules( testMethod, test, statement );
return statement;
}
示例8: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
/**
* method taken as is from BlockJUnit4ClassRunner 4.7 in order to preserve
* its functionality over following versions
*/
@Override
protected Statement methodBlock(FrameworkMethod method) {
Object test;
try {
test = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (Throwable e) {
return new Fail(e);
}
Statement statement = methodInvoker(method, test);
statement = possiblyExpectingExceptions(method, test, statement);
statement = withPotentialTimeout(method, test, statement);
statement = withRules(method, test, statement);
statement = withBefores(method, test, statement);
statement = withAfters(method, test, statement);
return statement;
}
示例9: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
@Override
protected Statement methodBlock(final FrameworkMethod method) {
final Object test;
try {
test = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (final Throwable e) {
return new Fail(e);
}
Statement statement = new MetaTest.$(method, test);
statement = withBefores(method, test, statement);
statement = withAfters(method, test, statement);
return statement;
}
示例10: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
@Override
protected Statement methodBlock(final FrameworkMethod method) {
final Object test;
try {
test = new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (final Throwable e) {
return new Fail(e);
}
Statement statement = new InvokeMethod(method, test);
statement = withBefores(method, test, statement);
statement = withAfters(method, test, statement);
return statement;
}
示例11: methodBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
/**
* had to override this whole method to get enough overall control to wrap
* all method invocations... javadoc says that this can be overridden
*/
@Override
protected Statement methodBlock(FrameworkMethod method) {
Object test;
try {
test= new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return createTest();
}
}.run();
} catch (Throwable e) {
return new Fail(e);
}
Statement statement= methodInvoker(method, test);
statement= possiblyExpectingExceptions(method, test, statement);
statement= withPotentialTimeout(method, test, statement);
statement= withBefores(method, test, statement);
statement= withAfters(method, test, statement);
statement= withRules(method, test, statement);
return statement;
}
示例12: invokeExplosively
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
@Override
public Object invokeExplosively(Object target, Object... params) throws Throwable {
// TODO: ok to ignore parameters here? i guess it depends on the Runner if they are used.
return new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
return nextRunnerRunChild.invoke(nextRunner, wrapped, runNotifier);
}
}.run();
}
示例13: invokeClassBlock
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
public static Statement invokeClassBlock(final ParentRunner<?> nextRunner, final RunNotifier notifier) {
try {
return (Statement)new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
Method classBlockMethod = ParentRunner.class.getDeclaredMethod("classBlock", RunNotifier.class);
classBlockMethod.setAccessible(true);
return classBlockMethod.invoke(nextRunner, notifier);
}
}.run();
} catch (Throwable throwable) {
throw new RuntimeException(throwable);
}
}
示例14: invokeGetChildren
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
public static List invokeGetChildren(final ParentRunner<?> runner) {
try {
return (List)new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
Method getChildrenMethod = ParentRunner.class.getDeclaredMethod("getChildren");
getChildrenMethod.setAccessible(true);
return getChildrenMethod.invoke(runner);
}
}.run();
} catch (Throwable throwable) {
throw new RuntimeException(throwable);
}
}
示例15: invokeDescribeChild
import org.junit.internal.runners.model.ReflectiveCallable; //导入依赖的package包/类
public static Description invokeDescribeChild(final ParentRunner<?> runner, final Object child) {
try {
return (Description) new ReflectiveCallable() {
@Override
protected Object runReflectiveCall() throws Throwable {
Method describeChildMethod = ParentRunner.class.getDeclaredMethod("describeChild", Object.class);
describeChildMethod.setAccessible(true);
return describeChildMethod.invoke(runner, child);
}
}.run();
} catch (Throwable throwable) {
throw new RuntimeException(throwable);
}
}