@API(status=STABLE,
since="1.0")
public class JUnitPlatform
extends org.junit.runner.Runner
implements org.junit.runner.manipulation.Filterable
Runner
which runs tests on the JUnit Platform in a
JUnit 4 environment.
Annotating a class with @RunWith(JUnitPlatform.class)
allows it
to be run with IDEs and build systems that support JUnit 4 but do not yet
support the JUnit Platform directly.
Consult the various annotations in the org.junit.platform.suite.api
package for configuration options.
If you do not use any configuration annotations from the
org.junit.platform.suite.api
package, you can simply use this runner
on a test class whose programming model is supported on the JUnit Platform
— for example, a JUnit Jupiter test class. Note, however, that any test
class run with this runner must be public
in order to be picked up by
IDEs and build tools.
When used on a class that serves as a test suite and the
@IncludeClassNamePatterns
annotation is not
present, the default include pattern
"^(Test.*|.+[.$]Test.*|.*Tests?)$"
will be used in order to avoid loading classes unnecessarily (see ClassNameFilter#STANDARD_INCLUDE_PATTERN
).
Modifier and Type | Field and Description |
---|---|
private static java.lang.Class<?>[] |
EMPTY_CLASS_ARRAY |
private static java.lang.String[] |
EMPTY_STRING_ARRAY |
private Launcher |
launcher |
private static java.lang.String[] |
STANDARD_INCLUDE_PATTERN_ARRAY |
private java.lang.Class<?> |
testClass |
private JUnitPlatformTestTree |
testTree |
Constructor and Description |
---|
JUnitPlatform(java.lang.Class<?> testClass) |
JUnitPlatform(java.lang.Class<?> testClass,
Launcher launcher) |
Modifier and Type | Method and Description |
---|---|
private void |
addExcludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addExcludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addExcludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addFiltersFromAnnotations(LauncherDiscoveryRequestBuilder requestBuilder,
boolean isSuite) |
private void |
addIncludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder,
boolean isSuite) |
private void |
addIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addIncludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private void |
addIncludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder) |
private LauncherDiscoveryRequest |
createDiscoveryRequest() |
private LauncherDiscoveryRequest |
createDiscoveryRequestForUniqueIds(java.util.Set<TestIdentifier> testIdentifiers) |
void |
filter(org.junit.runner.manipulation.Filter filter) |
private JUnitPlatformTestTree |
generateTestTree(LauncherDiscoveryRequest discoveryRequest) |
org.junit.runner.Description |
getDescription() |
private java.lang.String[] |
getExcludeClassNamePatterns() |
private java.lang.String[] |
getExcludedEngineIds() |
private java.lang.String[] |
getExcludedPackages() |
private java.lang.String[] |
getExcludedTags() |
private java.lang.String[] |
getIncludeClassNamePatterns(boolean isSuite) |
private java.lang.String[] |
getIncludedEngineIds() |
private java.lang.String[] |
getIncludedPackages() |
private java.lang.String[] |
getIncludedTags() |
private java.lang.Class<?>[] |
getSelectedClasses() |
private java.lang.String[] |
getSelectedPackageNames() |
private java.util.List<DiscoverySelector> |
getSelectorsFromAnnotations() |
private <A extends java.lang.annotation.Annotation,V> |
getValueFromAnnotation(java.lang.Class<A> annotationClass,
java.util.function.Function<A,V> extractor,
V defaultValue) |
void |
run(org.junit.runner.notification.RunNotifier notifier) |
private <T> java.util.List<DiscoverySelector> |
transform(T[] sourceElements,
java.util.function.Function<T,DiscoverySelector> transformer) |
private java.lang.String[] |
trimmed(java.lang.String[] patterns) |
private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY
private static final java.lang.String[] EMPTY_STRING_ARRAY
private static final java.lang.String[] STANDARD_INCLUDE_PATTERN_ARRAY
private final java.lang.Class<?> testClass
private final Launcher launcher
private JUnitPlatformTestTree testTree
public JUnitPlatform(java.lang.Class<?> testClass)
JUnitPlatform(java.lang.Class<?> testClass, Launcher launcher)
public org.junit.runner.Description getDescription()
getDescription
in interface org.junit.runner.Describable
getDescription
in class org.junit.runner.Runner
public void run(org.junit.runner.notification.RunNotifier notifier)
run
in class org.junit.runner.Runner
private JUnitPlatformTestTree generateTestTree(LauncherDiscoveryRequest discoveryRequest)
private LauncherDiscoveryRequest createDiscoveryRequest()
private void addFiltersFromAnnotations(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)
private java.util.List<DiscoverySelector> getSelectorsFromAnnotations()
private <T> java.util.List<DiscoverySelector> transform(T[] sourceElements, java.util.function.Function<T,DiscoverySelector> transformer)
private void addIncludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)
private void addExcludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addIncludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addExcludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addIncludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addExcludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private void addExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
private java.lang.Class<?>[] getSelectedClasses()
private java.lang.String[] getSelectedPackageNames()
private java.lang.String[] getIncludedPackages()
private java.lang.String[] getExcludedPackages()
private java.lang.String[] getIncludedTags()
private java.lang.String[] getExcludedTags()
private java.lang.String[] getIncludedEngineIds()
private java.lang.String[] getExcludedEngineIds()
private java.lang.String[] getIncludeClassNamePatterns(boolean isSuite)
private java.lang.String[] getExcludeClassNamePatterns()
private java.lang.String[] trimmed(java.lang.String[] patterns)
private <A extends java.lang.annotation.Annotation,V> V getValueFromAnnotation(java.lang.Class<A> annotationClass, java.util.function.Function<A,V> extractor, V defaultValue)
public void filter(org.junit.runner.manipulation.Filter filter) throws org.junit.runner.manipulation.NoTestsRemainException
filter
in interface org.junit.runner.manipulation.Filterable
org.junit.runner.manipulation.NoTestsRemainException
private LauncherDiscoveryRequest createDiscoveryRequestForUniqueIds(java.util.Set<TestIdentifier> testIdentifiers)