Interface Arguments
- All Known Implementing Classes:
Arguments.ArgumentSet
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Arguments is an abstraction that provides access to an array of
objects to be used for invoking a @ParameterizedTest method.
A Stream of such Arguments will
typically be provided by an ArgumentsProvider.
- Since:
- 5.0
- See Also:
- API Note:
This interface is specifically designed as a simple holder of arguments for a parameterized test. Therefore, if you end up transforming or filtering the arguments, you should consider using one of the following in intermediate steps:
- The standard Java collections
- Tuples from third-party libraries — for example, Commons Lang or javatuples
- Your own data class
Alternatively, you can use an
ArgumentConverterto convert some of the arguments from one type to another.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final class -
Method Summary
Modifier and TypeMethodDescriptionstatic ArgumentsFactory method for creating an instance ofArgumentsbased on the suppliedarguments.static Arguments.ArgumentSetargumentSet(String name, @Nullable Object... arguments) @Nullable Object[]get()Get the arguments used for an invocation of the@ParameterizedTestmethod.static ArgumentsFactory method for creating an instance ofArgumentsbased on the suppliedarguments.
-
Method Details
-
get
@Nullable Object[] get()Get the arguments used for an invocation of the@ParameterizedTestmethod.- Returns:
- the arguments; never
nullbut may containnull - API Note:
- If you need a type-safe way to access some or all of the arguments, please read the class-level API note.
-
of
Factory method for creating an instance ofArgumentsbased on the suppliedarguments.- Parameters:
arguments- the arguments to be used for an invocation of the test method; must not benullbut may containnull- Returns:
- an instance of
Arguments; nevernull - See Also:
-
arguments
Factory method for creating an instance ofArgumentsbased on the suppliedarguments.This method is an alias for
of(java.lang.Object...)and is intended to be used when statically imported — for example, via:import static org.junit.jupiter.params.provider.Arguments.arguments;- Parameters:
arguments- the arguments to be used for an invocation of the test method; must not benullbut may containnull- Returns:
- an instance of
Arguments; nevernull - Since:
- 5.3
- See Also:
-
argumentSet
@API(status=MAINTAINED, since="5.13.3") static Arguments.ArgumentSet argumentSet(String name, @Nullable Object... arguments) Factory method for creating anArguments.ArgumentSetbased on the suppliednameandarguments.Favor this method over
Arguments.of(...)andarguments(...)when you wish to assign a name to the entire set of arguments.This method is well suited to be used as a static import — for example, via:
import static org.junit.jupiter.params.provider.Arguments.argumentSet;.- Parameters:
name- the name of the argument set; must not benullor blankarguments- the arguments to be used for an invocation of the test method; must not benullbut may containnull- Returns:
- an
ArgumentSet; nevernull - Since:
- 5.11
- See Also:
-