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.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)
-
-