## org.junit.runner
Class JUnitCore

    java.lang.Object
      org.junit.runner.JUnitCore

    public class JUnitCore

extends Object

`JUnitCore` is a facade for running tests. It supports running JUnit 4 tests, JUnit 3.8.x tests, and mixtures. To run tests from the command line, run `java org.junit.runner.JUnitCore TestClass1 TestClass2 ...`. For one-shot test runs, use the static method `runClasses(Class[])`. If you want to add special listeners, create an instance of `JUnitCore` first and use it to run the tests.

Since:
  4.0
See Also:
  `Result`, `RunListener`, `Request`

Constructor Summary
`JUnitCore()`

Method Summary
`void` `addListener(RunListener listener)` Add a listener to be notified as the tests run.
`String` `getVersion()`
`static void` `main(String... args)` Run the tests contained in the classes named in the `args`.
`void` `removeListener(RunListener listener)` Remove a listener.
`Result` `run(Class<?>... classes)` Run all the tests in `classes`.
`Result` `run(Computer computer, Class<?>... classes)` Run all the tests in `classes`.
`Result` `run(Request request)` Run all the tests contained in `request`.
`Result` `run(Runner runner)` Do not use.
`Result` `run(Test test)` Run all the tests contained in JUnit 3.8.x `test`.
`static Result` `runClasses(Class<?>... classes)` Run the tests contained in `classes`.
`static Result` `runClasses(Computer computer, Class<?>... classes)` Run the tests contained in `classes`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JUnitCore

    public JUnitCore()

Method Detail

### main

    public static void main(String... args)

  Run the tests contained in the classes named in the `args`. If all tests run successfully, exit with a status of 0. Otherwise exit with a status of 1. Write feedback while tests are running and write stack traces for all failed tests after the tests all complete.

  Parameters:
    `args` - names of classes in which to find tests to run

### runClasses

    public static Result runClasses(Class<?>... classes)

  Run the tests contained in `classes`. Write feedback while the tests are running and write stack traces for all failed tests after all tests complete. This is similar to `main(String[])`, but intended to be used programmatically.

  Parameters:
    `classes` - Classes in which to find tests
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### runClasses

    public static Result runClasses(Computer computer,
                                    Class<?>... classes)

  Run the tests contained in `classes`. Write feedback while the tests are running and write stack traces for all failed tests after all tests complete. This is similar to `main(String[])`, but intended to be used programmatically.

  Parameters:
    `computer` - Helps construct Runners from classes
    `classes` - Classes in which to find tests
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### getVersion

    public String getVersion()

  Returns:
    the version number of this release

### run

    public Result run(Class<?>... classes)

  Run all the tests in `classes`.

  Parameters:
    `classes` - the classes containing tests
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### run

    public Result run(Computer computer,
                      Class<?>... classes)

  Run all the tests in `classes`.

  Parameters:
    `computer` - Helps construct Runners from classes
    `classes` - the classes containing tests
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### run

    public Result run(Request request)

  Run all the tests contained in `request`.

  Parameters:
    `request` - the request describing tests
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### run

    public Result run(Test test)

  Run all the tests contained in JUnit 3.8.x `test`. Here for backward compatibility.

  Parameters:
    `test` - the old-style test
  Returns:
    a `Result` describing the details of the test run and the failed tests.

### run

    public Result run(Runner runner)

  Do not use. Testing purposes only.

### addListener

    public void addListener(RunListener listener)

  Add a listener to be notified as the tests run.

  Parameters:
    `listener` - the listener to add
  See Also:
    `RunListener`

### removeListener

    public void removeListener(RunListener listener)

  Remove a listener.

  Parameters:
    `listener` - the listener to remove

Copyright © 2002–2020 JUnit. All rights reserved.