@API(value=Experimental) public interface Launcher
Launcher
API is the main entry point for client code that
wishes to discover and execute tests using one or more
test engines.
Implementations of this interface are responsible for determining
the set of test engines to delegate to at runtime and for ensuring that
each test engine has an ID
that is unique among the registered test engines. For example, the
default implementation returned by
LauncherFactory.create()
dynamically discovers test engines via Java's
ServiceLoader
mechanism.
Discovery and execution of tests require a LauncherDiscoveryRequest
which is passed to all registered engines. Each engine decides which tests
it can discover and later execute according to the LauncherDiscoveryRequest
.
Clients of this interface may optionally call discover(org.junit.platform.launcher.LauncherDiscoveryRequest)
prior to
execute(org.junit.platform.launcher.LauncherDiscoveryRequest, org.junit.platform.launcher.TestExecutionListener...)
in order to inspect the TestPlan
before executing
it.
Prior to executing tests, clients of this interface should
register one or more
TestExecutionListener
instances in order to get feedback about the
progress and results of test execution. Listeners will be notified of events
in the order in which they were registered. For example, the
default implementation returned by
LauncherFactory.create()
dynamically discovers test execution listeners via Java's
ServiceLoader
mechanism.
LauncherDiscoveryRequest
,
TestPlan
,
TestExecutionListener
,
LauncherFactory
,
TestEngine
Modifier and Type | Method and Description |
---|---|
TestPlan |
discover(LauncherDiscoveryRequest launcherDiscoveryRequest)
Discover tests and build a
TestPlan according to the supplied
LauncherDiscoveryRequest by querying all registered engines and
collecting their results. |
void |
execute(LauncherDiscoveryRequest launcherDiscoveryRequest,
TestExecutionListener... listeners)
Execute a
TestPlan which is built according to the supplied
LauncherDiscoveryRequest by querying all registered engines and
collecting their results, and notify registered listeners about the progress and results of the execution. |
void |
registerTestExecutionListeners(TestExecutionListener... listeners)
Register one or more listeners for test execution.
|
void registerTestExecutionListeners(TestExecutionListener... listeners)
listeners
- the listeners to be notified of test execution events;
never null
or emptyTestPlan discover(LauncherDiscoveryRequest launcherDiscoveryRequest)
TestPlan
according to the supplied
LauncherDiscoveryRequest
by querying all registered engines and
collecting their results.launcherDiscoveryRequest
- the launcher discovery request; never null
TestPlan
that contains all resolved identifiers from all registered enginesvoid execute(LauncherDiscoveryRequest launcherDiscoveryRequest, TestExecutionListener... listeners)
TestPlan
which is built according to the supplied
LauncherDiscoveryRequest
by querying all registered engines and
collecting their results, and notify registered listeners about the progress and results of the execution.
Supplied test execution listeners are registered in addition to already registered listeners but only for the supplied launcher discovery request.
launcherDiscoveryRequest
- the launcher discovery request; never null
listeners
- additional test execution listeners; never null