@API(status=EXPERIMENTAL, since="5.0") public class DynamicTest extends DynamicNode
DynamicTest is a test case generated at runtime.
It is composed of a display name and an
Executable.
Instances of DynamicTest must be generated by factory methods
annotated with @TestFactory.
Note that dynamic tests are quite different from standard @Test
cases since callbacks such as @BeforeEach and
@AfterEach methods are not executed for dynamic tests.
dynamicTest(String, Executable),
stream(Iterator, Function, ThrowingConsumer),
Test,
TestFactory,
Executable| Modifier and Type | Method | Description |
|---|---|---|
static DynamicTest |
dynamicTest(java.lang.String displayName,
Executable executable) |
Factory for creating a new
DynamicTest for the supplied display
name and executable code block. |
Executable |
getExecutable() |
Get the
executable code block associated with this DynamicTest. |
static <T> java.util.stream.Stream<DynamicTest> |
stream(java.util.Iterator<T> inputGenerator,
java.util.function.Function<? super T,java.lang.String> displayNameGenerator,
ThrowingConsumer<? super T> testExecutor) |
Generate a stream of dynamic tests based on the supplied generators
and test executor.
|
getDisplayName, toStringpublic static DynamicTest dynamicTest(java.lang.String displayName, Executable executable)
DynamicTest for the supplied display
name and executable code block.displayName - the display name for the dynamic test; never
null or blankexecutable - the executable code block for the dynamic test;
never nullstream(Iterator, Function, ThrowingConsumer)public static <T> java.util.stream.Stream<DynamicTest> stream(java.util.Iterator<T> inputGenerator, java.util.function.Function<? super T,java.lang.String> displayNameGenerator, ThrowingConsumer<? super T> testExecutor)
Use this method when the set of dynamic tests is nondeterministic in nature.
The supplied inputGenerator is responsible for generating
input values. A DynamicTest will be added to the resulting
stream for each dynamically generated input value, using the supplied
displayNameGenerator and testExecutor.
T - the type of input generated by the inputGenerator
and used by the displayNameGenerator and testExecutorinputGenerator - an Iterator that serves as a dynamic
input generator; never nulldisplayNameGenerator - a function that generates a display name
based on an input value; never nulltestExecutor - a consumer that executes a test based on an
input value; never nullnulldynamicTest(String, Executable)public Executable getExecutable()
executable code block associated with this DynamicTest.