Class JUnitPlatform
- java.lang.Object
-
- org.junit.runner.Runner
-
- org.junit.platform.runner.JUnitPlatform
-
- All Implemented Interfaces:
org.junit.runner.Describable
,org.junit.runner.manipulation.Filterable
@API(status=STABLE, since="1.0") public class JUnitPlatform extends org.junit.runner.Runner implements org.junit.runner.manipulation.Filterable
JUnit 4 basedRunner
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 bepublic
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 (seeClassNameFilter#STANDARD_INCLUDE_PATTERN
).
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description JUnitPlatform(java.lang.Class<?> testClass)
JUnitPlatform(java.lang.Class<?> testClass, Launcher launcher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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>
VgetValueFromAnnotation(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)
-
-
-
Field Detail
-
EMPTY_CLASS_ARRAY
private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY
-
EMPTY_STRING_ARRAY
private static final java.lang.String[] EMPTY_STRING_ARRAY
-
STANDARD_INCLUDE_PATTERN_ARRAY
private static final java.lang.String[] STANDARD_INCLUDE_PATTERN_ARRAY
-
testClass
private final java.lang.Class<?> testClass
-
launcher
private final Launcher launcher
-
testTree
private JUnitPlatformTestTree testTree
-
-
Constructor Detail
-
JUnitPlatform
public JUnitPlatform(java.lang.Class<?> testClass)
-
JUnitPlatform
JUnitPlatform(java.lang.Class<?> testClass, Launcher launcher)
-
-
Method Detail
-
getDescription
public org.junit.runner.Description getDescription()
- Specified by:
getDescription
in interfaceorg.junit.runner.Describable
- Specified by:
getDescription
in classorg.junit.runner.Runner
-
run
public void run(org.junit.runner.notification.RunNotifier notifier)
- Specified by:
run
in classorg.junit.runner.Runner
-
generateTestTree
private JUnitPlatformTestTree generateTestTree(LauncherDiscoveryRequest discoveryRequest)
-
createDiscoveryRequest
private LauncherDiscoveryRequest createDiscoveryRequest()
-
addFiltersFromAnnotations
private void addFiltersFromAnnotations(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)
-
getSelectorsFromAnnotations
private java.util.List<DiscoverySelector> getSelectorsFromAnnotations()
-
transform
private <T> java.util.List<DiscoverySelector> transform(T[] sourceElements, java.util.function.Function<T,DiscoverySelector> transformer)
-
addIncludeClassNamePatternFilter
private void addIncludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)
-
addExcludeClassNamePatternFilter
private void addExcludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addIncludePackagesFilter
private void addIncludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addExcludePackagesFilter
private void addExcludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addIncludedTagsFilter
private void addIncludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addExcludedTagsFilter
private void addExcludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addIncludedEnginesFilter
private void addIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
addExcludedEnginesFilter
private void addExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)
-
getSelectedClasses
private java.lang.Class<?>[] getSelectedClasses()
-
getSelectedPackageNames
private java.lang.String[] getSelectedPackageNames()
-
getIncludedPackages
private java.lang.String[] getIncludedPackages()
-
getExcludedPackages
private java.lang.String[] getExcludedPackages()
-
getIncludedTags
private java.lang.String[] getIncludedTags()
-
getExcludedTags
private java.lang.String[] getExcludedTags()
-
getIncludedEngineIds
private java.lang.String[] getIncludedEngineIds()
-
getExcludedEngineIds
private java.lang.String[] getExcludedEngineIds()
-
getIncludeClassNamePatterns
private java.lang.String[] getIncludeClassNamePatterns(boolean isSuite)
-
getExcludeClassNamePatterns
private java.lang.String[] getExcludeClassNamePatterns()
-
trimmed
private java.lang.String[] trimmed(java.lang.String[] patterns)
-
getValueFromAnnotation
private <A extends java.lang.annotation.Annotation,V> V getValueFromAnnotation(java.lang.Class<A> annotationClass, java.util.function.Function<A,V> extractor, V defaultValue)
-
filter
public void filter(org.junit.runner.manipulation.Filter filter) throws org.junit.runner.manipulation.NoTestsRemainException
- Specified by:
filter
in interfaceorg.junit.runner.manipulation.Filterable
- Throws:
org.junit.runner.manipulation.NoTestsRemainException
-
createDiscoveryRequestForUniqueIds
private LauncherDiscoveryRequest createDiscoveryRequestForUniqueIds(java.util.Set<TestIdentifier> testIdentifiers)
-
-