Class TestPlan
TestPlan describes the tree of tests and containers as discovered
by a Launcher.
Tests and containers are represented by TestIdentifier instances.
The complete set of identifiers comprises a tree-like structure. However,
each identifier only stores the unique ID of its parent. This class provides
a number of helpful methods to retrieve the
parent,
children, and
descendants of an identifier.
While the contained instances of TestIdentifier are immutable,
instances of this class contain mutable state. For example, when a dynamic
test is registered at runtime, it is added to the original test plan and
reported to TestExecutionListener implementations.
This class is not intended to be extended by clients.
- Since:
- 1.0
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTestPlan(boolean containsTests, ConfigurationParameters configurationParameters, OutputDirectoryProvider outputDirectoryProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(TestPlan.Visitor visitor) Accept the suppliedTestPlan.Visitorfor a depth-first traversal of the test plan.voidaddInternal(TestIdentifier testIdentifier) booleanReturn whether this test plan contains any tests.longcountTestIdentifiers(Predicate<? super TestIdentifier> predicate) Count allTestIdentifiersthat satisfy the given predicate.static TestPlanfrom(boolean containsTests, Collection<TestDescriptor> engineDescriptors, ConfigurationParameters configurationParameters, OutputDirectoryProvider outputDirectoryProvider) Construct a newTestPlanfrom the supplied collection ofTestDescriptors.getChildren(UniqueId parentId) Get the children of the supplied unique ID.getChildren(TestIdentifier parent) Get the children of the suppliedTestIdentifier.Get theConfigurationParametersfor this test plan.getDescendants(TestIdentifier parent) Get all descendants of the suppliedTestIdentifier(i.e., all of its children and their children, recursively).Get theOutputDirectoryProviderfor this test plan.getParent(TestIdentifier child) Get the parent of the suppliedTestIdentifier.getRoots()Get the rootTestIdentifiersfor this test plan.getTestIdentifier(String uniqueId) Deprecated.getTestIdentifier(UniqueId uniqueId) Get theTestIdentifierwith the supplied unique ID.
-
Constructor Details
-
TestPlan
@API(status=INTERNAL, since="1.4") protected TestPlan(boolean containsTests, ConfigurationParameters configurationParameters, OutputDirectoryProvider outputDirectoryProvider)
-
-
Method Details
-
from
@API(status=INTERNAL, since="1.13") public static TestPlan from(boolean containsTests, Collection<TestDescriptor> engineDescriptors, ConfigurationParameters configurationParameters, OutputDirectoryProvider outputDirectoryProvider) Construct a newTestPlanfrom the supplied collection ofTestDescriptors.Each supplied
TestDescriptoris expected to be a descriptor for aTestEngine.- Parameters:
containsTests- whether the test plan contains testsengineDescriptors- the engine test descriptors from which the test plan should be created; nevernullconfigurationParameters- theConfigurationParametersfor this test plan; nevernulloutputDirectoryProvider- theOutputDirectoryProviderfor this test plan; nevernull- Returns:
- a new test plan
-
addInternal
-
getRoots
Get the rootTestIdentifiersfor this test plan.- Returns:
- an unmodifiable set of the root identifiers
-
getParent
Get the parent of the suppliedTestIdentifier.- Parameters:
child- the identifier to look up the parent for; nevernull- Returns:
- an
Optionalcontaining the parent, if present
-
getChildren
Get the children of the suppliedTestIdentifier.- Parameters:
parent- the identifier to look up the children for; nevernull- Returns:
- an unmodifiable set of the parent's children, potentially empty
- See Also:
-
getChildren
Get the children of the supplied unique ID.- Parameters:
parentId- the unique ID to look up the children for; nevernull- Returns:
- an unmodifiable set of the parent's children, potentially empty
- See Also:
-
getTestIdentifier
@API(status=DEPRECATED, since="1.10", consumers="Gradle") @Deprecated public TestIdentifier getTestIdentifier(String uniqueId) throws PreconditionViolationException Deprecated.Get theTestIdentifierwith the supplied unique ID.- Parameters:
uniqueId- the unique ID to look up the identifier for; nevernullor blank- Returns:
- the identifier with the supplied unique ID; never
null - Throws:
PreconditionViolationException- if noTestIdentifierwith the supplied unique ID is present in this test plan
-
getTestIdentifier
Get theTestIdentifierwith the supplied unique ID.- Parameters:
uniqueId- the unique ID to look up the identifier for; nevernull- Returns:
- the identifier with the supplied unique ID; never
null - Throws:
PreconditionViolationException- if noTestIdentifierwith the supplied unique ID is present in this test plan
-
countTestIdentifiers
Count allTestIdentifiersthat satisfy the given predicate.- Parameters:
predicate- a predicate which returnstruefor identifiers to be counted; nevernull- Returns:
- the number of identifiers that satisfy the supplied predicate
-
getDescendants
Get all descendants of the suppliedTestIdentifier(i.e., all of its children and their children, recursively).- Parameters:
parent- the identifier to look up the descendants for; nevernull- Returns:
- an unmodifiable set of the parent's descendants, potentially empty
-
containsTests
public boolean containsTests()Return whether this test plan contains any tests.A test plan contains tests, if at least one of the contained engine descriptors contains tests.
- Returns:
trueif this test plan contains tests- See Also:
-
getConfigurationParameters
Get theConfigurationParametersfor this test plan.- Returns:
- the configuration parameters; never
null - Since:
- 1.8
-
getOutputDirectoryProvider
Get theOutputDirectoryProviderfor this test plan.- Returns:
- the output directory provider; never
null - Since:
- 1.12
-
accept
Accept the suppliedTestPlan.Visitorfor a depth-first traversal of the test plan.- Parameters:
visitor- the visitor to accept; nevernull- Since:
- 1.10
-
getTestIdentifier(UniqueId)