当前位置: 首页>>代码示例>>Java>>正文


Java TestRule类代码示例

本文整理汇总了Java中org.junit.rules.TestRule的典型用法代码示例。如果您正苦于以下问题:Java TestRule类的具体用法?Java TestRule怎么用?Java TestRule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TestRule类属于org.junit.rules包,在下文中一共展示了TestRule类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildStatementWithTestRules

import org.junit.rules.TestRule; //导入依赖的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

示例2: applyRuleToLastStatement

import org.junit.rules.TestRule; //导入依赖的package包/类
@Override
protected Statement applyRuleToLastStatement(final Method method, final Object testInstance, Field field,
        final LastRuleTestExecutorStatement lastStatement) throws IllegalAccessException {
    final Object fieldValue = field.get(testInstance);
    final Statement statement;
    if (fieldValue instanceof MethodRule) {
        // the MethodRule is known by junit 4.9 -> delegate to super-class
        statement = super.applyRuleToLastStatement(method, testInstance, field, lastStatement);
    } else if (fieldValue instanceof TestRule){
        TestRule rule = (TestRule) fieldValue;
        statement = rule.apply(lastStatement, description);
    } else {
        throw new IllegalStateException("Can only handle MethodRule and TestRule");
    }
    return statement;
}
 
开发者ID:awenblue,项目名称:powermock,代码行数:17,代码来源:PowerMockJUnit49RunnerDelegateImpl.java

示例3: openAndCloseDriver

import org.junit.rules.TestRule; //导入依赖的package包/类
@Rule
public final TestRule openAndCloseDriver() {
    return (base, description) -> new Statement() {

        @Override
        public void evaluate() throws Throwable {
            driver = createDriver();
            try {
                base.evaluate();
            } finally {
                if (closeDriver)
                    try {
                        driver.close();
                    } catch (Throwable t) {
                        // swallow
                    }
            }
        }
    };
}
 
开发者ID:ruediste,项目名称:rise,代码行数:21,代码来源:WebTestBase.java

示例4: withLogging

import org.junit.rules.TestRule; //导入依赖的package包/类
private Statement withLogging(final FrameworkMethod method, Object target, Statement statement) {
  final AtomicLong time = new AtomicLong();
  List<TestRule> rules = new ArrayList<>();
  rules.add(new ExternalResource() {
    @Override
    protected void before() throws Throwable {
      if (LOG.isDebugEnabled()) {
        time.set(System.currentTimeMillis());
        LOG.debug("Beginning [" + method.getDeclaringClass().getCanonicalName() + "." + method.getName() + "]");
      }
    }

    @Override
    protected void after() {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Completed [" + method.getDeclaringClass().getCanonicalName() + "." + method.getName() + "] in ["
          + (System.currentTimeMillis() - time.get()) + "] ms");
      }
    }
  });
  return new RunRules(statement, rules, getDescription());
}
 
开发者ID:ggear,项目名称:cloudera-framework,代码行数:23,代码来源:TestRunner.java

示例5: getHiveRunnerConfigRule

import org.junit.rules.TestRule; //导入依赖的package包/类
private TestRule getHiveRunnerConfigRule(final Object target) {
    return new TestRule() {
        @Override
        public Statement apply(Statement base, Description description) {
            Set<Field> fields = ReflectionUtils.getAllFields(target.getClass(),
                    Predicates.and(
                            withAnnotation(HiveRunnerSetup.class),
                            withType(HiveRunnerConfig.class)));

            Preconditions.checkState(fields.size() <= 1,
                    "Exact one field of type HiveRunnerConfig should to be annotated with @HiveRunnerSetup");

            /*
             Override the config with test case config. Taking care to not replace the config instance since it
              has been passes around and referenced by some of the other test rules.
              */
            if (!fields.isEmpty()) {
                config.override(ReflectionUtils
                        .getFieldValue(target, fields.iterator().next().getName(), HiveRunnerConfig.class));
            }

            return base;
        }
    };
}
 
开发者ID:klarna,项目名称:HiveRunner,代码行数:26,代码来源:StandaloneHiveRunner.java

示例6: classRules

import org.junit.rules.TestRule; //导入依赖的package包/类
@Override
protected List<TestRule> classRules() {
  List<TestRule> rules = super.classRules();
  rules.add(new ExternalResource() {
    @Override
    protected void before() throws Throwable {
      beforeClass();
      super.before();
    }

    @Override
    protected void after() {
      beforeAfterClass();
      super.after();
      afterClass();
    }
  });
  return rules;
}
 
开发者ID:bytor99999,项目名称:vertx-junit-annotations,代码行数:20,代码来源:JUnit4ClassRunnerAdapter.java

示例7: createTestRule

import org.junit.rules.TestRule; //导入依赖的package包/类
public TestRule createTestRule() {
  final TemporaryFolder tempFolder = new TemporaryFolder();

  return RuleChain
    .outerRule(tempFolder)
    .around(new ExternalResource() {

      TomcatServerBootstrap bootstrap = new JerseyTomcatServerBootstrap(webXmlResource);

      protected void before() throws Throwable {
        bootstrap.setWorkingDir(tempFolder.getRoot().getAbsolutePath());
        bootstrap.start();
      }

      protected void after() {
        bootstrap.stop();
      }
    });
}
 
开发者ID:camunda,项目名称:camunda-bpm-platform,代码行数:20,代码来源:JerseySpecifics.java

示例8: createTestRule

import org.junit.rules.TestRule; //导入依赖的package包/类
public TestRule createTestRule() {
  final TemporaryFolder tempFolder = new TemporaryFolder();

  return RuleChain
    .outerRule(tempFolder)
    .around(new ExternalResource() {

      WinkTomcatServerBootstrap bootstrap = new WinkTomcatServerBootstrap(webXmlResource);

      protected void before() throws Throwable {
        bootstrap.setWorkingDir(tempFolder.getRoot().getAbsolutePath());
        bootstrap.start();
      }

      protected void after() {
        bootstrap.stop();
      }
    });
}
 
开发者ID:camunda,项目名称:camunda-bpm-platform,代码行数:20,代码来源:WinkSpecifics.java

示例9: createTestRule

import org.junit.rules.TestRule; //导入依赖的package包/类
public TestRule createTestRule() {
  final TemporaryFolder tempFolder = new TemporaryFolder();

  return RuleChain
    .outerRule(tempFolder)
    .around(new ExternalResource() {

      TomcatServerBootstrap bootstrap = new CXFTomcatServerBootstrap(webXmlResource);

      protected void before() throws Throwable {
        bootstrap.setWorkingDir(tempFolder.getRoot().getAbsolutePath());
        bootstrap.start();
      }

      protected void after() {
        bootstrap.stop();
      }
    });
}
 
开发者ID:camunda,项目名称:camunda-bpm-platform,代码行数:20,代码来源:CXFSpecifics.java

示例10: createTestRule

import org.junit.rules.TestRule; //导入依赖的package包/类
public TestRule createTestRule() {
  final TemporaryFolder tempFolder = new TemporaryFolder();

  return RuleChain
    .outerRule(tempFolder)
    .around(new ExternalResource() {

      ResteasyTomcatServerBootstrap bootstrap = new ResteasyTomcatServerBootstrap(webXmlResource);

      protected void before() throws Throwable {
        bootstrap.setWorkingDir(tempFolder.getRoot().getAbsolutePath());
        bootstrap.start();
      }

      protected void after() {
        bootstrap.stop();
      }
    });
}
 
开发者ID:camunda,项目名称:camunda-bpm-platform,代码行数:20,代码来源:ResteasySpecifics.java

示例11: maintainer

import org.junit.rules.TestRule; //导入依赖的package包/类
/**
 * A JUnit {@link TestRule} that stops tests from interfering with one 
 * another. JUnit will automatically set up/clean up the catalog when this
 * rule is used. <br/>
 * Usage:<br/>
 * {@code @Rule public final TestRule catalogMaintainer = TestCatalogModel.maintainer()}
 * @return the TestRule
 */
public static TestRule maintainer() {
    return new ExternalResource() {

        @Override
        protected void after() {
            getDefault().clearDocumentPool();
        }
    
    };
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:TestCatalogModel.java

示例12: getLinkedRule

import org.junit.rules.TestRule; //导入依赖的package包/类
/**
 * Get the test rule of the specified type that's attached to the rule chain.
 * 
 * @param <T> test rule type
 * @param testRuleType test rule type
 * @return {@link ScreenshotCapture} test rule
 */
public <T extends TestRule> T getLinkedRule(Class<T> testRuleType) {
    Optional<T> optional = RuleChainWalker.getAttachedRule(ruleChain, testRuleType);
    if (optional.isPresent()) {
        return optional.get();
    }
    throw new IllegalStateException(testRuleType.getSimpleName() + " test rule wasn't found on the rule chain");
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:15,代码来源:JUnitBase.java

示例13: getTestRules

import org.junit.rules.TestRule; //导入依赖的package包/类
@Override
protected List<TestRule> getTestRules(Object target) {
    if (isFocusEnabled()) {
        List<TestRule> old = super.getTestRules(target);
        old.removeIf(rule -> rule instanceof Timeout);
        return old;
    } else {
        return super.getTestRules(target);
    }
}
 
开发者ID:altiplanogao,项目名称:io-comparison,代码行数:11,代码来源:FocusRunner.java

示例14: apply

import org.junit.rules.TestRule; //导入依赖的package包/类
private <R extends TestRule> Statement apply(Statement base, Description description,
		Delegate<R> delegate) {
	final R rule = delegate.createRule();
	Statement statement = new Statement() {

		@Override
		public void evaluate() throws Throwable {
			ArtifactoryServerConnection.this.serverFactory = (artifactory) -> delegate
					.getArtifactoryServer(rule, artifactory);
			base.evaluate();
		}

	};
	return rule.apply(statement, description);
}
 
开发者ID:spring-io,项目名称:artifactory-resource,代码行数:16,代码来源:ArtifactoryServerConnection.java

示例15: apply

import org.junit.rules.TestRule; //导入依赖的package包/类
@Override
public Statement apply(Statement base, final Description description) {
  for (TestRule each : this.rules) {
    base = each.apply(base, description);
  }
  return base;
}
 
开发者ID:ampool,项目名称:monarch,代码行数:8,代码来源:RuleList.java


注:本文中的org.junit.rules.TestRule类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。