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.FilterableJUnit 4 basedRunnerwhich 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.apipackage for configuration options.If you do not use any configuration annotations from the
org.junit.platform.suite.apipackage, 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 bepublicin order to be picked up by IDEs and build tools.When used on a class that serves as a test suite and the
@IncludeClassNamePatternsannotation 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_ARRAYprivate static java.lang.String[]EMPTY_STRING_ARRAYprivate Launcherlauncherprivate static java.lang.String[]STANDARD_INCLUDE_PATTERN_ARRAYprivate java.lang.Class<?>testClassprivate JUnitPlatformTestTreetestTree
-
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 voidaddExcludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddExcludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddExcludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddExcludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddFiltersFromAnnotations(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)private voidaddIncludeClassNamePatternFilter(LauncherDiscoveryRequestBuilder requestBuilder, boolean isSuite)private voidaddIncludedEnginesFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddIncludedTagsFilter(LauncherDiscoveryRequestBuilder requestBuilder)private voidaddIncludePackagesFilter(LauncherDiscoveryRequestBuilder requestBuilder)private LauncherDiscoveryRequestcreateDiscoveryRequest()private LauncherDiscoveryRequestcreateDiscoveryRequestForUniqueIds(java.util.Set<TestIdentifier> testIdentifiers)voidfilter(org.junit.runner.manipulation.Filter filter)private JUnitPlatformTestTreegenerateTestTree(LauncherDiscoveryRequest discoveryRequest)org.junit.runner.DescriptiongetDescription()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)voidrun(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:
getDescriptionin interfaceorg.junit.runner.Describable- Specified by:
getDescriptionin classorg.junit.runner.Runner
-
run
public void run(org.junit.runner.notification.RunNotifier notifier)
- Specified by:
runin 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:
filterin interfaceorg.junit.runner.manipulation.Filterable- Throws:
org.junit.runner.manipulation.NoTestsRemainException
-
createDiscoveryRequestForUniqueIds
private LauncherDiscoveryRequest createDiscoveryRequestForUniqueIds(java.util.Set<TestIdentifier> testIdentifiers)
-
-