Module org.junit.vintage.engine
Class DefensiveAllDefaultPossibilitiesBuilder
java.lang.Object
org.junit.runners.model.RunnerBuilder
org.junit.internal.builders.AllDefaultPossibilitiesBuilder
org.junit.vintage.engine.discovery.DefensiveAllDefaultPossibilitiesBuilder
class DefensiveAllDefaultPossibilitiesBuilder
extends org.junit.internal.builders.AllDefaultPossibilitiesBuilder
Customization of
AllDefaultPossibilitiesBuilder from JUnit 4 to
ignore certain classes that would otherwise be reported as errors or cause
infinite recursion.- Since:
- 4.12
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classCustomization ofAnnotatedBuilderthat ignores classes annotated with@RunWith(JUnitPlatform.class)to avoid infinite recursion.private static classCustomization ofJUnit4Builderthat ignores classes that do not contain any test methods in order not to report errors for them.private static classCustomization ofIgnoredBuilderthat always returnsnull. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.junit.internal.builders.AnnotatedBuilderprivate final org.junit.internal.builders.IgnoredBuilderprivate final org.junit.internal.builders.JUnit4Builderprivate static final Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.junit.internal.builders.AnnotatedBuilderprivate IgnoringRunnerDecoratordecorateIgnoredTestClass(org.junit.runner.Runner runner) Instead of checking for theIgnoreannotation and returning anIgnoredClassRunnerfromIgnoredBuilder, we've let the super class determine the regular runner that would have been used ifIgnorehadn't been present.protected org.junit.internal.builders.IgnoredBuilder(package private) booleanisIgnored(org.junit.runner.Runner runner) protected org.junit.internal.builders.JUnit4Builderorg.junit.runner.RunnerrunnerForClass(Class<?> testClass) Methods inherited from class org.junit.internal.builders.AllDefaultPossibilitiesBuilder
junit3Builder, suiteMethodBuilderMethods inherited from class org.junit.runners.model.RunnerBuilder
runners, runners, safeRunnerForClass
-
Field Details
-
logger
-
annotatedBuilder
private final org.junit.internal.builders.AnnotatedBuilder annotatedBuilder -
junit4Builder
private final org.junit.internal.builders.JUnit4Builder junit4Builder -
ignoredBuilder
private final org.junit.internal.builders.IgnoredBuilder ignoredBuilder
-
-
Constructor Details
-
DefensiveAllDefaultPossibilitiesBuilder
DefensiveAllDefaultPossibilitiesBuilder()
-
-
Method Details
-
runnerForClass
- Overrides:
runnerForClassin classorg.junit.internal.builders.AllDefaultPossibilitiesBuilder- Throws:
Throwable
-
isIgnored
boolean isIgnored(org.junit.runner.Runner runner) -
decorateIgnoredTestClass
Instead of checking for theIgnoreannotation and returning anIgnoredClassRunnerfromIgnoredBuilder, we've let the super class determine the regular runner that would have been used ifIgnorehadn't been present. Now, we decorate the runner to override its runtime behavior (i.e. skip execution) but return its regularDescription. -
annotatedBuilder
protected org.junit.internal.builders.AnnotatedBuilder annotatedBuilder()- Overrides:
annotatedBuilderin classorg.junit.internal.builders.AllDefaultPossibilitiesBuilder
-
junit4Builder
protected org.junit.internal.builders.JUnit4Builder junit4Builder()- Overrides:
junit4Builderin classorg.junit.internal.builders.AllDefaultPossibilitiesBuilder
-
ignoredBuilder
protected org.junit.internal.builders.IgnoredBuilder ignoredBuilder()- Overrides:
ignoredBuilderin classorg.junit.internal.builders.AllDefaultPossibilitiesBuilder
-