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.Please note that test classes and suites annotated with
@RunWith(JUnitPlatform.class)
cannot be executed directly on the JUnit Platform (or as a "JUnit 5" test as documented in some IDEs). Such classes and suites can only be executed using JUnit 4 infrastructure.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)
-
-