Class EngineTestKit
- java.lang.Object
-
- org.junit.platform.testkit.engine.EngineTestKit
-
@API(status=EXPERIMENTAL, since="1.4") public final class EngineTestKit extends Object
EngineTestKit
provides support for executing a test plan for a givenTestEngine
and then accessing the results via a fluent API to verify the expected results.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EngineTestKit.Builder
TestEngine
execution builder.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static EngineTestKit.Builder
engine(String engineId)
Create an executionEngineTestKit.Builder
for theTestEngine
with the supplied ID.static EngineTestKit.Builder
engine(TestEngine testEngine)
Create an executionEngineTestKit.Builder
for the suppliedTestEngine
.static EngineExecutionResults
execute(String engineId, EngineDiscoveryRequest discoveryRequest)
Execute tests for the givenEngineDiscoveryRequest
using theTestEngine
with the supplied ID.static EngineExecutionResults
execute(TestEngine testEngine, EngineDiscoveryRequest discoveryRequest)
Execute tests for the givenEngineDiscoveryRequest
using the suppliedTestEngine
.
-
-
-
Method Detail
-
engine
public static EngineTestKit.Builder engine(String engineId)
Create an executionEngineTestKit.Builder
for theTestEngine
with the supplied ID.The
TestEngine
will be loaded via Java'sServiceLoader
mechanism, analogous to the manner in which test engines are loaded in the JUnit Platform Launcher API.Example Usage
EngineTestKit .engine("junit-jupiter") .selectors(selectClass(MyTests.class)) .execute() .tests() .assertStatistics(stats -> stats.started(2).finished(2));
- Parameters:
engineId
- the ID of theTestEngine
to use; must not benull
or blank- Returns:
- the engine execution
Builder
- Throws:
PreconditionViolationException
- if the supplied ID isnull
or blank, or if theTestEngine
with the supplied ID cannot be loaded- See Also:
engine(TestEngine)
,execute(String, EngineDiscoveryRequest)
,execute(TestEngine, EngineDiscoveryRequest)
-
engine
public static EngineTestKit.Builder engine(TestEngine testEngine)
Create an executionEngineTestKit.Builder
for the suppliedTestEngine
.Example Usage
EngineTestKit .engine(new MyTestEngine()) .selectors(selectClass(MyTests.class)) .execute() .tests() .assertStatistics(stats -> stats.started(2).finished(2));
- Parameters:
testEngine
- theTestEngine
to use; must not benull
- Returns:
- the engine execution
Builder
- Throws:
PreconditionViolationException
- if theTestEngine
isnull
- See Also:
engine(String)
,execute(String, EngineDiscoveryRequest)
,execute(TestEngine, EngineDiscoveryRequest)
-
execute
public static EngineExecutionResults execute(String engineId, EngineDiscoveryRequest discoveryRequest)
Execute tests for the givenEngineDiscoveryRequest
using theTestEngine
with the supplied ID.The
TestEngine
will be loaded via Java'sServiceLoader
mechanism, analogous to the manner in which test engines are loaded in the JUnit Platform Launcher API.Note that
LauncherDiscoveryRequest
from thejunit-platform-launcher
module is a subtype ofEngineDiscoveryRequest
. It is therefore quite convenient to make use of the DSL provided inLauncherDiscoveryRequestBuilder
to build an appropriate discovery request to supply to this method. As an alternative, consider usingengine(String)
for a more fluent API.- Parameters:
engineId
- the ID of theTestEngine
to use; must not benull
or blankdiscoveryRequest
- theEngineDiscoveryRequest
to use- Returns:
- the results of the execution
- Throws:
PreconditionViolationException
- for invalid arguments or if theTestEngine
with the supplied ID cannot be loaded- See Also:
execute(TestEngine, EngineDiscoveryRequest)
,engine(String)
,engine(TestEngine)
-
execute
public static EngineExecutionResults execute(TestEngine testEngine, EngineDiscoveryRequest discoveryRequest)
Execute tests for the givenEngineDiscoveryRequest
using the suppliedTestEngine
.Note that
LauncherDiscoveryRequest
from thejunit-platform-launcher
module is a subtype ofEngineDiscoveryRequest
. It is therefore quite convenient to make use of the DSL provided inLauncherDiscoveryRequestBuilder
to build an appropriate discovery request to supply to this method. As an alternative, consider usingengine(TestEngine)
for a more fluent API.- Parameters:
testEngine
- theTestEngine
to use; must not benull
discoveryRequest
- theEngineDiscoveryRequest
to use; must not benull
- Returns:
- the recorded
EngineExecutionResults
- Throws:
PreconditionViolationException
- for invalid arguments- See Also:
execute(String, EngineDiscoveryRequest)
,engine(String)
,engine(TestEngine)
-
-