Java 类org.junit.runner.Request 实例源码

项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Annotations on method")
public void shouldProcessMethodAnnotations() throws Exception {
    core.run(Request.aClass(TestWithAnnotations.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .flatExtracting(TestResult::getLabels)
            .extracting(Label::getValue)
            .contains(
                    "epic1", "epic2", "epic3",
                    "feature1", "feature2", "feature3",
                    "story1", "story2", "story3",
                    "some-owner"
            );
}
项目:personium-core    文件:SingleJUnitTestRunner.java   
/**
 * .
 * @param args .
 * @throws ClassNotFoundException .
 */
public static void main(String... args) throws ClassNotFoundException {
    int retCode = 0;
    String resultMessage = "SUCCESS";
    String[] classAndMethod = args[0].split("#");
    Request request = Request.method(Class.forName(classAndMethod[0]),
            classAndMethod[1]);

    Result result = new JUnitCore().run(request);
    if (!result.wasSuccessful()) {
        retCode = 1;
        resultMessage = "FAILURE";
    }
    System.out.println(resultMessage);
    System.exit(retCode);
}
项目:reactor    文件:CaseRunnerJUnit4.java   
@Override
public void runTaskCase() throws Exception {
    AbstractCaseData.setCaseData(null);
    String caseDataInfo = this.tcr.getTaskCase().getCaseDataInfo();
    if (!caseDataInfo.isEmpty()) {
        CaseData caseData = AbstractCaseData.getCaseData(caseDataInfo);
        LOG.debug("Injecting case data: {} = {}", caseDataInfo, caseData.getValue());
        AbstractCaseData.setCaseData(caseData);
    }

    TaskCase tc = this.tcr.getTaskCase();
    LOG.debug("Loading case {}", tc.format());
    CaseRunListener trl = new CaseRunListener(this.db, this.tcr);
    JUnitCore core = new JUnitCore();
    core.addListener(trl);
    core.run(Request.method(Class.forName(tc.getCaseClass()), tc.getCaseMethod()));
}
项目:openjfx-8u-dev-tests    文件:PluginValidatorApp.java   
@Override
public void start(Stage stage) throws Exception {
    AppLauncher.getInstance().setRemoteStage(stage);

    new Thread(new Runnable() {
        public void run() {
            try {
                System.out.println("Running junit");
                Result r = new JUnitCore().run(Request.method(Class.forName(className), testName));
                System.out.println("got result = " + r.wasSuccessful());
            }
            catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            } finally {
                //System.exit(0);
            }
        }
    }).start();
}
项目:test-analyzer    文件:PresentationTest.java   
@Test
public void testTextResultPresentation() throws Exception {
    IResultPresentation presentation = new TextResultPresentation();

    final String genericExpected = "" + "Testcase: junit.framework.TestCase.test()" + NEW_LINE
            + "Mutated method: java.lang.Object.hashCode()" + NEW_LINE + "Return value generator: "
            + SAMPLE_RET_VAL_GEN_NAME + NEW_LINE + "Result: %s" + NEW_LINE + ".";

    String output;
    String expected;
    Result result;

    result = new Result();
    output = presentation.formatTestResultEntry(SAMPLE_TEST_IDENTIFIER, new JUnitTestRunResult(result),
            SAMPLE_METHOD_IDENTIFIER, SAMPLE_RET_VAL_GEN_NAME);
    expected = String.format(genericExpected, "OK");
    assertEquals(expected, output);

    result = new JUnitCore().run(Request.method(SampleJUnitTestClass.class, "b"));
    output = presentation.formatTestResultEntry(SAMPLE_TEST_IDENTIFIER, new JUnitTestRunResult(result),
            SAMPLE_METHOD_IDENTIFIER, SAMPLE_RET_VAL_GEN_NAME);
    expected = String.format(genericExpected, "1 of 1 FAILED" + NEW_LINE + "Exception: java.lang.AssertionError");
    assertEquals(expected, output);
}
项目:test-analyzer    文件:PresentationTest.java   
@Test
public void testDatabaseResultPresentation() {
    IResultPresentation presentation = new DatabaseResultPresentation();
    presentation.setExecutionId(ExecutionIdFactory.parseShortExecutionId("EXEC"));

    final String genericExpected = "INSERT INTO Test_Result_Import (execution, testcase, method, retValGen, killed, assertErr, exception) VALUES ('EXEC', 'junit.framework.TestCase.test()', 'java.lang.Object.hashCode()', '%s', %s, %s, '%s');";

    String output;
    String expected;
    Result result;

    result = new Result();
    output = presentation.formatTestResultEntry(SAMPLE_TEST_IDENTIFIER, new JUnitTestRunResult(result),
            SAMPLE_METHOD_IDENTIFIER, SAMPLE_RET_VAL_GEN_NAME);
    expected = String.format(genericExpected, SAMPLE_RET_VAL_GEN_NAME, false, false, "");
    assertEquals(expected, output);

    result = new JUnitCore().run(Request.method(SampleJUnitTestClass.class, "b"));
    output = presentation.formatTestResultEntry(SAMPLE_TEST_IDENTIFIER, new JUnitTestRunResult(result),
            SAMPLE_METHOD_IDENTIFIER, SAMPLE_RET_VAL_GEN_NAME);
    expected = String.format(genericExpected, SAMPLE_RET_VAL_GEN_NAME, true, true, AssertionError.class.getName());
    assertEquals(expected, output);
}
项目:asyncbigtable    文件:TestIntegration.java   
public static void main(final String[] args) throws Exception {
  preFlightTest(args);
  table = args[0];
  family = args[1];
  TestIntegration.args = args;
  LOG.info("Starting integration tests");
  final JUnitCore junit = new JUnitCore();
  final JunitListener listener = new JunitListener();
  junit.addListener(listener);
  final String singleTest = System.getenv("TEST_NAME");
  final Request req;
  if (singleTest != null) {
    req = Request.method(TestIntegration.class, singleTest);
  } else {
    req = Request.aClass(TestIntegration.class);
  }
  final Result result = junit.run(req);
  LOG.info("Ran " + result.getRunCount() + " tests in "
           + result.getRunTime() + "ms");
  if (!result.wasSuccessful()) {
    LOG.error(result.getFailureCount() + " tests failed: "
              + result.getFailures());
    System.exit(1);
  }
  LOG.info("All tests passed!");
}
项目:che    文件:TestRunnerUtil.java   
private static List<JUnit4TestReference> getRequestForClasses(String[] args) {
  List<JUnit4TestReference> suites = new LinkedList<>();
  for (String classFqn : args) {
    try {
      Class<?> aClass = Class.forName(classFqn);
      Request request = Request.aClass(aClass);
      Runner runner = request.getRunner();
      suites.add(new JUnit4TestReference(runner, runner.getDescription()));
    } catch (ClassNotFoundException ignored) {
    }
  }
  if (suites.isEmpty()) {
    System.err.print("No test found to run.");
    return emptyList();
  }
  return suites;
}
项目:AugmentedDriver    文件:TestRunner.java   
/**
 * Wrapper over JUniteCore that runs one test.
 *
 * @return the result of the test.
 * @throws Exception if there was an exception running the test.
 */
@Override
public AugmentedResult call() throws Exception {
    JUnitCore jUnitCore = getJUnitCore();
    String testName = String.format("%s#%s", test.getDeclaringClass().getCanonicalName(), test.getName());
    long start = System.currentTimeMillis();
    try {
        LOG.info(String.format("STARTING Test %s", testName));
        // HACK since for TestSuiteRunner we want to retry, and for TestMethodRunner we don't want to
        // The other way would be a RETRY on augmented.properties, but this is independent of the configuration of
        // the test.
        if (retry) {
            TestRunnerRetryingRule.retry();
        }
        Result result = jUnitCore.run(Request.method(test.getDeclaringClass(), test.getName()));
        LOG.info(String.format("FINSHED Test %s in %s, result %s", testName,
                Util.TO_PRETTY_FORMAT.apply(System.currentTimeMillis() - start), result.wasSuccessful()? "SUCCEEDED" : "FAILED"));
        return new AugmentedResult(testName, result, outputStream);
    } finally {
        outputStream.close();
    }
}
项目:play1-maven-plugin    文件:PlayJUnit4Provider.java   
private static void execute( Class<?> testClass, Notifier notifier, Filter filter )
    throws TestSetFailedException
{
    final int classModifiers = testClass.getModifiers();
    if ( !isAbstract( classModifiers ) && !isInterface( classModifiers ) )
    {
        Request request = aClass( testClass );
        if ( filter != null )
        {
            request = request.filterWith( filter );
        }
        Runner runner = request.getRunner();
        if ( countTestsInRunner( runner.getDescription() ) != 0 )
        {
            executeInPlayContext( runner, notifier );
        }
    }
}
项目:osgi.security-tests    文件:TestServer.java   
private void runTest(Map<String, Bundle> installed, DataInputStream input, DataOutputStream output) throws Exception {
    String symbolicName = input.readUTF();
    Version version = Version.parseVersion(input.readUTF());
    String testClass = input.readUTF();
    String testName = input.readUTF();

    Bundle testBundle = getTestBundle(installed, input, output, symbolicName, version);

    Class<?> testClazz = testBundle.loadClass(testClass);

    Result result = new JUnitCore().run(Request.method(testClazz, testName));

    if(result.wasSuccessful()) {
        output.writeUTF(SUCCESS);
    } else {
        Failure failure = result.getFailures().get(0);
        output.writeUTF(FAIL);
        output.writeUTF(failure.getMessage());
    }

    output.flush();
}
项目:effektif    文件:TestSuiteHelper.java   
public static void run(Configuration configuration, Class<?> clazz, String methodName) {
  try {
    Request request = null;
    if (clazz!=null && methodName!=null) {
      request = Request.method(clazz, methodName);
    } else {
      Suite suite = new Suite(new JUnit4Builder(), API_TEST_CLASSES);
      request = Request.runner(suite);
    }

    Configuration originalConfiguration = WorkflowTest.cachedConfiguration;
    WorkflowTest.cachedConfiguration = configuration;

    JUnitCore junitCore = new JUnitCore();
    Result result = junitCore.run(request);

    WorkflowTest.cachedConfiguration = originalConfiguration;

    checkResult(result);

  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
项目:hypergraphdb    文件:TraversalsTests.java   
public static void main(String []argv)
{
    int maxIterations = 10;
    JUnitCore junit = new JUnitCore();
    Result result = null;
    int iter = 0;
    do
    {
        result = junit.run(Request.method(TraversalsTests.class, "testDepthFirstOnCircle"));
        iter++;
        System.out.println("Failures " + result.getFailureCount());
     if (result.getFailureCount() > 0)
     {
         for (Failure failure : result.getFailures())
         {
             failure.getException().printStackTrace();
         }
     }
    } while (result.getFailureCount() == 0 && iter < maxIterations);
}
项目:hypergraphdb    文件:PropertyIndexingTests.java   
public static void main(String []argv)
{
    JUnitCore junit = new JUnitCore();
    Result result = null;
    do
    {
        result = junit.run(Request.method(PropertyIndexingTests.class, "derivedPropertyIndexing"));
    } while (result.getFailureCount() == 0 && false);
    System.out.println("Failures " + result.getFailureCount());
    if (result.getFailureCount() > 0)
    {
        for (Failure failure : result.getFailures())
        {
            failure.getException().printStackTrace();
        }
    }
    System.exit(0);
}
项目:Blaubot    文件:SingleJUnitTestRunner.java   
public static void main(String[] args) throws ClassNotFoundException {
    String arg = "eu.hgross.blaubot.test.AllSuite";
    if (args.length > 0) {
        arg = args[0];
    }
    String[] classAndMethod = arg.split("#");
    Request request;
    if (classAndMethod.length == 1) {
        request = Request.classes(Class.forName(classAndMethod[0]));
    } else {
        request = Request.method(Class.forName(classAndMethod[0]), classAndMethod[1]);          
    }
    Result result = new JUnitCore().run(request);
    for (Failure failure : result.getFailures()) {
        System.out.println(failure.getMessage());
    }
    System.exit(result.wasSuccessful() ? 0 : 1);
}
项目:sosiefier    文件:MaxCore.java   
private Request constructLeafRequest(List<Description> leaves) {
    final List<Runner> runners = new ArrayList<Runner>();
    for (Description each : leaves) {
        runners.add(buildRunner(each));
    }
    return new Request() {
        @Override
        public Runner getRunner() {
            try {
                return new Suite((Class<?>) null, runners) {
                };
            } catch (InitializationError e) {
                return new ErrorReportingRunner(null, e);
            }
        }
    };
}
项目:sosiefier    文件:MaxCore.java   
private Runner buildRunner(Description each) {
    if (each.toString().equals("TestSuite with 0 tests")) {
        return Suite.emptySuite();
    }
    if (each.toString().startsWith(MALFORMED_JUNIT_3_TEST_CLASS_PREFIX)) {
        // This is cheating, because it runs the whole class
        // to get the warning for this method, but we can't do better,
        // because JUnit 3.8's
        // thrown away which method the warning is for.
        return new JUnit38ClassRunner(new TestSuite(getMalformedTestClass(each)));
    }
    Class<?> type = each.getTestClass();
    if (type == null) {
        throw new RuntimeException("Can't locate a runner from description [" + each + "]");
    }
    String methodName = each.getMethodName();
    if (methodName == null) {
        return Request.aClass(type).getRunner();
    }
    return Request.method(type, methodName).getRunner();
}
项目:bazel    文件:JUnit4TestModelBuilderTest.java   
@Test
public void testCreateModel_simpleSuite() throws Exception {
  Class<?> suiteClass = SampleSuite.class;
  Request request = Request.classWithoutSuiteMethod(suiteClass);
  String suiteClassName = suiteClass.getCanonicalName();
  JUnit4TestModelBuilder modelBuilder = builder(
      request, suiteClassName, stubShardingEnvironment, null, xmlResultWriter);

  Description topSuite = request.getRunner().getDescription();
  Description innerSuite = topSuite.getChildren().get(0);
  Description testOne = innerSuite.getChildren().get(0);

  TestSuiteModel model = modelBuilder.get();
  TestNode topSuiteNode = Iterables.getOnlyElement(model.getTopLevelTestSuites());
  assertThat(topSuiteNode.getDescription()).isEqualTo(topSuite);
  TestNode innerSuiteNode = Iterables.getOnlyElement(topSuiteNode.getChildren());
  assertThat(innerSuiteNode.getDescription()).isEqualTo(innerSuite);
  TestNode testOneNode = Iterables.getOnlyElement(innerSuiteNode.getChildren());
  assertThat(testOneNode.getDescription()).isEqualTo(testOne);
  assertThat(testOneNode.getChildren()).isEmpty();
  assertThat(model.getNumTestCases()).isEqualTo(1);
}
项目:bazel    文件:JUnit4TestXmlListenerTest.java   
@Test
public void assumptionViolationsAtSuiteLevelAreReportedAsSkippedSuite() throws Exception {
  TestSuiteModelSupplier mockModelSupplier = mock(TestSuiteModelSupplier.class);
  TestSuiteModel mockModel = mock(TestSuiteModel.class);
  CancellableRequestFactory mockRequestFactory = mock(CancellableRequestFactory.class);
  OutputStream mockXmlStream = mock(OutputStream.class);
  JUnit4TestXmlListener listener = new JUnit4TestXmlListener(
      mockModelSupplier, mockRequestFactory, fakeSignalHandlers, mockXmlStream, errPrintStream);

  Request request = Request.classWithoutSuiteMethod(
      TestWithAssumptionViolationOnTheSuiteLevel.class);
  Description suiteDescription = request.getRunner().getDescription();

  when(mockModelSupplier.get()).thenReturn(mockModel);

  JUnitCore core = new JUnitCore();
  core.addListener(listener);
  core.run(request);

  assertWithMessage("no output to stderr expected").that(errStream.size()).isEqualTo(0);
  InOrder inOrder = inOrder(mockModel);
  inOrder.verify(mockModel).testSkipped(suiteDescription);
  inOrder.verify(mockModel).writeAsXml(mockXmlStream);
  verify(mockRequestFactory, never()).cancelRun();
}
项目:bazel    文件:JUnit4RunnerFactory.java   
public JUnit4RunnerFactory(
    Supplier<Request> requestSupplier,
    Supplier<CancellableRequestFactory> requestFactorySupplier,
    Supplier<Supplier<TestSuiteModel>> modelSupplierSupplier,
    Supplier<PrintStream> testRunnerOutSupplier,
    Supplier<JUnit4Config> configSupplier,
    Supplier<Set<RunListener>> runListenersSupplier,
    Supplier<Set<JUnit4Runner.Initializer>> initializersSupplier) {
  assert requestSupplier != null;
  this.requestSupplier = requestSupplier;
  assert requestFactorySupplier != null;
  this.requestFactorySupplier = requestFactorySupplier;
  assert modelSupplierSupplier != null;
  this.modelSupplierSupplier = modelSupplierSupplier;
  assert testRunnerOutSupplier != null;
  this.testRunnerOutSupplier = testRunnerOutSupplier;
  assert configSupplier != null;
  this.configSupplier = configSupplier;
  assert runListenersSupplier != null;
  this.runListenersSupplier = runListenersSupplier;
  assert initializersSupplier != null;
  this.initializersSupplier = initializersSupplier;
}
项目:bazel    文件:JUnit4TestXmlListenerTest.java   
@Test
public void writesXmlAtTestEnd() throws Exception {
  TestSuiteModelSupplier mockModelSupplier = mock(TestSuiteModelSupplier.class);
  TestSuiteModel mockModel = mock(TestSuiteModel.class);
  CancellableRequestFactory mockRequestFactory = mock(CancellableRequestFactory.class);
  OutputStream mockXmlStream = mock(OutputStream.class);
  JUnit4TestXmlListener listener = new JUnit4TestXmlListener(
      mockModelSupplier, mockRequestFactory, fakeSignalHandlers, mockXmlStream, errPrintStream);

  when(mockModelSupplier.get()).thenReturn(mockModel);

  JUnitCore core = new JUnitCore();
  core.addListener(listener);
  core.run(Request.classWithoutSuiteMethod(PassingTest.class));

  assertWithMessage("no output to stderr expected").that(errStream.size()).isEqualTo(0);
  verify(mockModel).writeAsXml(mockXmlStream);
  verify(mockRequestFactory, never()).cancelRun();
}
项目:bazel    文件:JUnit4TestModelBuilderTest.java   
@Test
public void testDoesNotTouchShardFileWhenShardingDisabled() {
  Class<?> testClass = SampleTestCaseWithTwoTests.class;
  Request request = Request.classWithoutSuiteMethod(testClass);
  ShardingEnvironment mockShardingEnvironment = mock(ShardingEnvironment.class);
  ShardingFilters shardingFilters = new ShardingFilters(
      mockShardingEnvironment, DEFAULT_SHARDING_STRATEGY);
  JUnit4TestModelBuilder modelBuilder = builder(
      request, testClass.getCanonicalName(), mockShardingEnvironment, shardingFilters,
      xmlResultWriter);

  when(mockShardingEnvironment.isShardingEnabled()).thenReturn(false);
  modelBuilder.get();

  verify(mockShardingEnvironment, never()).touchShardFile();
}
项目:bazel    文件:MemoizingRequestTest.java   
public void testOverridingCreateRunner() {
  final Runner stubRunner = mock(Runner.class);
  MemoizingRequest memoizingRequest = new MemoizingRequest(mockRequestDelegate) {
    @Override
    protected Runner createRunner(Request delegate) {
      return stubRunner;
    }
  };

  Runner firstRunner = memoizingRequest.getRunner();
  Runner secondRunner = memoizingRequest.getRunner();

  assertThat(firstRunner).isSameAs(stubRunner);
  assertThat(secondRunner).isSameAs(firstRunner);
  verifyZeroInteractions(mockRequestDelegate);
}
项目:bazel    文件:JUnit4TestModelBuilderTest.java   
@Test
public void testCreateModel_singleTestClass() throws Exception {
  Class<?> testClass = SampleTestCaseWithTwoTests.class;
  Request request = Request.classWithoutSuiteMethod(testClass);
  String testClassName = testClass.getCanonicalName();
  JUnit4TestModelBuilder modelBuilder = builder(
      request, testClassName, stubShardingEnvironment, null, xmlResultWriter);

  Description suite = request.getRunner().getDescription();
  Description testOne = suite.getChildren().get(0);
  Description testTwo = suite.getChildren().get(1);

  TestSuiteModel model = modelBuilder.get();
  TestNode suiteNode = Iterables.getOnlyElement(model.getTopLevelTestSuites());
  assertThat(suiteNode.getDescription()).isEqualTo(suite);
  List<TestNode> testCases = suiteNode.getChildren();
  assertThat(testCases).hasSize(2);
  TestNode testOneNode = testCases.get(0);
  TestNode testTwoNode = testCases.get(1);
  assertThat(testOneNode.getDescription()).isEqualTo(testOne);
  assertThat(testTwoNode.getDescription()).isEqualTo(testTwo);
  assertThat(testOneNode.getChildren()).isEmpty();
  assertThat(testTwoNode.getChildren()).isEmpty();
  assertThat(model.getNumTestCases()).isEqualTo(2);
}
项目:bazel    文件:JUnit4RunnerFactory.java   
public static Factory<JUnit4Runner> create(
    Supplier<Request> requestSupplier,
    Supplier<CancellableRequestFactory> requestFactorySupplier,
    Supplier<Supplier<TestSuiteModel>> modelSupplierSupplier,
    Supplier<PrintStream> testRunnerOutSupplier,
    Supplier<JUnit4Config> configSupplier,
    Supplier<Set<RunListener>> runListenersSupplier,
    Supplier<Set<JUnit4Runner.Initializer>> initializersSupplier) {
  return new JUnit4RunnerFactory(
      requestSupplier,
      requestFactorySupplier,
      modelSupplierSupplier,
      testRunnerOutSupplier,
      configSupplier,
      runListenersSupplier,
      initializersSupplier);
}
项目:bazel    文件:JUnit4TestModelBuilderTest.java   
@Test
public void testTouchesShardFileWhenShardingEnabled() {
  Class<?> testClass = SampleTestCaseWithTwoTests.class;
  Request request = Request.classWithoutSuiteMethod(testClass);
  ShardingEnvironment mockShardingEnvironment = mock(ShardingEnvironment.class);
  ShardingFilters shardingFilters = new ShardingFilters(
      mockShardingEnvironment, DEFAULT_SHARDING_STRATEGY);
  JUnit4TestModelBuilder modelBuilder = builder(
      request, testClass.getCanonicalName(), mockShardingEnvironment, shardingFilters,
      xmlResultWriter);

  when(mockShardingEnvironment.isShardingEnabled()).thenReturn(true);
  when(mockShardingEnvironment.getTotalShards()).thenReturn(2);
  modelBuilder.get();

  verify(mockShardingEnvironment).touchShardFile();
}
项目:bazel    文件:JUnit4Runner.java   
/**
 * Creates a runner.
 */
@Inject
JUnit4Runner(
    Request request,
    CancellableRequestFactory requestFactory,
    Supplier<TestSuiteModel> modelSupplier,
    @Stdout PrintStream testRunnerOut,
    JUnit4Config config,
    Set<RunListener> runListeners,
    Set<Initializer> initializers) {
  this.request = request;
  this.requestFactory = requestFactory;
  this.modelSupplier = modelSupplier;
  this.config = config;
  this.testRunnerOut = testRunnerOut;
  this.runListeners = runListeners;
  this.initializers = initializers;
}
项目:bazel    文件:JUnit4TestXmlListenerTest.java   
@Test
public void failuresAreReported() throws Exception {
  TestSuiteModelSupplier mockModelSupplier = mock(TestSuiteModelSupplier.class);
  TestSuiteModel mockModel = mock(TestSuiteModel.class);
  CancellableRequestFactory mockRequestFactory = mock(CancellableRequestFactory.class);
  OutputStream mockXmlStream = mock(OutputStream.class);
  JUnit4TestXmlListener listener = new JUnit4TestXmlListener(
      mockModelSupplier, mockRequestFactory, fakeSignalHandlers, mockXmlStream, errPrintStream);

  Request request = Request.classWithoutSuiteMethod(FailingTest.class);
  Description suiteDescription = request.getRunner().getDescription();
  Description testDescription = suiteDescription.getChildren().get(0);

  when(mockModelSupplier.get()).thenReturn(mockModel);

  JUnitCore core = new JUnitCore();
  core.addListener(listener);
  core.run(request);

  assertWithMessage("no output to stderr expected").that(errStream.size()).isEqualTo(0);
  InOrder inOrder = inOrder(mockModel);
  inOrder.verify(mockModel).testFailure(eq(testDescription), any(Throwable.class));
  inOrder.verify(mockModel).writeAsXml(mockXmlStream);
  verify(mockRequestFactory, never()).cancelRun();
}
项目:tools-idea    文件:JUnit46ClassesRequestBuilder.java   
public static Request getClassesRequest(final String suiteName, Class[] classes, Map classMethods) {
  boolean canUseSuiteMethod = canUseSuiteMethod(classMethods);
  try {
    final Runner suite;
    if (canUseSuiteMethod) {
      suite = new IdeaSuite(collectWrappedRunners(classes), suiteName);
    } else {
      final AllDefaultPossibilitiesBuilder builder = new AllDefaultPossibilitiesBuilder(canUseSuiteMethod);
      suite = new IdeaSuite(builder, classes, suiteName);
    }
    return Request.runner(suite);
  }
  catch (InitializationError e) {
    throw new RuntimeException(e);
  }
}
项目:bazel    文件:JUnit4TestXmlListenerTest.java   
@Test
public void ignoredTestAreReportedAsSuppressedTests() throws Exception {
  TestSuiteModelSupplier mockModelSupplier = mock(TestSuiteModelSupplier.class);
  TestSuiteModel mockModel = mock(TestSuiteModel.class);
  CancellableRequestFactory mockRequestFactory = mock(CancellableRequestFactory.class);
  OutputStream mockXmlStream = mock(OutputStream.class);
  JUnit4TestXmlListener listener = new JUnit4TestXmlListener(
      mockModelSupplier, mockRequestFactory, fakeSignalHandlers, mockXmlStream, errPrintStream);

  Request request = Request.classWithoutSuiteMethod(TestWithIgnoredTestCase.class);
  Description suiteDescription = request.getRunner().getDescription();
  Description testDescription = suiteDescription.getChildren().get(0);

  when(mockModelSupplier.get()).thenReturn(mockModel);

  JUnitCore core = new JUnitCore();
  core.addListener(listener);
  core.run(request);

  assertWithMessage("no output to stderr expected").that(errStream.size()).isEqualTo(0);
  InOrder inOrder = inOrder(mockModel);
  inOrder.verify(mockModel).testSuppressed(testDescription);
  inOrder.verify(mockModel).writeAsXml(mockXmlStream);
  verify(mockRequestFactory, never()).cancelRun();
}
项目:bazel    文件:CancellableRequestFactoryTest.java   
@Test
public void testCancelRunBeforeStarting() throws Exception {
  final AtomicBoolean testRan = new AtomicBoolean(false);

  // A runner that should never run its test
  FakeRunner runner = new FakeRunner("shouldNotRun", new Runnable() {
    @Override
    public void run() {
      testRan.set(true);
    }
  });

  Request request = cancellableRequestFactory.createRequest(Request.runner(runner));
  cancellableRequestFactory.cancelRun();
  JUnitCore core = new JUnitCore();

  try {
    core.run(request);
    fail("exception expected");
  } catch (RuntimeException e) {
    assertThat(e).hasMessageThat().isEqualTo("Test run interrupted");
    assertThat(e).hasCauseThat().isInstanceOf(StoppedByUserException.class);
  }

  assertThat(testRan.get()).isFalse();
}
项目:bazel    文件:CancellableRequestFactoryTest.java   
@Test
public void testNormalRun() {
  final AtomicBoolean testRan = new AtomicBoolean(false);

  // A runner that should run its test
  FakeRunner runner = new FakeRunner("shouldRun", new Runnable() {
    @Override
    public void run() {
      testRan.set(true);
    }
  });

  Request request = cancellableRequestFactory.createRequest(Request.runner(runner));
  JUnitCore core = new JUnitCore();
  Result result = core.run(request);

  assertThat(testRan.get()).isTrue();
  assertThat(result.getRunCount()).isEqualTo(1);
  assertThat(result.getFailureCount()).isEqualTo(0);
}
项目:effektif    文件:TestSuiteHelper.java   
public static void run(Configuration configuration, Class<?> clazz, String methodName) {
  try {
    Request request = null;
    if (clazz!=null && methodName!=null) {
      request = Request.method(clazz, methodName);
    } else {
      Suite suite = new Suite(new JUnit4Builder(), API_TEST_CLASSES);
      request = Request.runner(suite);
    }

    Configuration originalConfiguration = WorkflowTest.cachedConfiguration;
    WorkflowTest.cachedConfiguration = configuration;

    JUnitCore junitCore = new JUnitCore();
    Result result = junitCore.run(request);

    WorkflowTest.cachedConfiguration = originalConfiguration;

    checkResult(result);

  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
项目:Reer    文件:IgnoredTestDescriptorProvider.java   
List<Description> getAllDescriptions(Description description, String className) {
    final AllExceptIgnoredTestRunnerBuilder allExceptIgnoredTestRunnerBuilder = new AllExceptIgnoredTestRunnerBuilder();
    try {
        final Class<?> testClass = description.getClass().getClassLoader().loadClass(className);
        Runner runner = allExceptIgnoredTestRunnerBuilder.runnerForClass(testClass);
        if (runner == null) {
            //fall back to default runner
            runner = Request.aClass(testClass).getRunner();
        }
        final Description runnerDescription = runner.getDescription();
        return runnerDescription.getChildren();
    } catch (Throwable throwable) {
        throw new TestSuiteExecutionException(String.format("Unable to process Ignored class %s.", className), throwable);
    }
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Should set full name")
public void shouldSetTestFullName() throws Exception {
    core.run(Request.aClass(OneTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getFullName)
            .containsExactly("io.qameta.allure.junit4.samples.OneTest.simpleTest");
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Should set start time")
public void shouldSetTestStart() throws Exception {
    core.run(Request.aClass(OneTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getStart)
            .isNotNull();
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Should set stop time")
public void shouldSetTestStop() throws Exception {
    core.run(Request.aClass(OneTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getStop)
            .isNotNull();
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Should set finished stage")
public void shouldSetStageFinished() throws Exception {
    core.run(Request.aClass(OneTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getStage)
            .containsExactly(Stage.FINISHED);
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Failed test")
public void shouldProcessFailedTest() throws Exception {
    core.run(Request.aClass(FailedTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getStatus)
            .containsExactly(Status.FAILED);
}
项目:allure-java    文件:FeatureCombinationsTest.java   
@Test
@DisplayName("Broken test")
public void shouldProcessBrokenTest() throws Exception {
    core.run(Request.aClass(BrokenTest.class));
    List<TestResult> testResults = results.getTestResults();
    assertThat(testResults)
            .hasSize(1)
            .extracting(TestResult::getStatus)
            .containsExactly(Status.BROKEN);
}