Module org.junit.jupiter.params
Interface ArgumentsAggregator
- All Known Implementing Classes:
SimpleArgumentsAggregator
ArgumentsAggregator
is an abstraction for the aggregation of arguments
provided by an ArgumentsProvider
for a single invocation of a
@ParameterizedTest
method
into a single object.
An ArgumentsAggregator
is applied to a method parameter of a
@ParameterizedTest
method via the @AggregateWith
annotation.
The result of the aggregation will be passed as an argument to the
@ParameterizedTest
method for the annotated parameter.
A common use case is the aggregation of multiple columns from a single line
in a CSV file into a domain object such as a Person
, Address
,
Order
, etc.
Implementations must provide a no-args constructor or a single unambiguous constructor to use parameter resolution. They should not make any assumptions regarding when they are instantiated or how often they are called. Since instances may potentially be cached and called from different threads, they should be thread-safe.
- Since:
- 5.2
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaggregateArguments
(ArgumentsAccessor accessor, ParameterContext context) Aggregate the arguments contained in the suppliedaccessor
into a single object.default Object
aggregateArguments
(ArgumentsAccessor accessor, FieldContext context) Aggregate the arguments contained in the suppliedaccessor
into a single object.
-
Method Details
-
aggregateArguments
Object aggregateArguments(ArgumentsAccessor accessor, ParameterContext context) throws ArgumentsAggregationException Aggregate the arguments contained in the suppliedaccessor
into a single object.- Parameters:
accessor
- anArgumentsAccessor
containing the arguments to be aggregated; nevernull
context
- the parameter context where the aggregated result is to be supplied; nevernull
- Returns:
- the aggregated result; may be
null
but only if the target type is a reference type - Throws:
ArgumentsAggregationException
- if an error occurs during the aggregation
-
aggregateArguments
@API(status=EXPERIMENTAL, since="5.13") default Object aggregateArguments(ArgumentsAccessor accessor, FieldContext context) throws ArgumentsAggregationException Aggregate the arguments contained in the suppliedaccessor
into a single object.- Parameters:
accessor
- anArgumentsAccessor
containing the arguments to be aggregated; nevernull
context
- the field context where the aggregated result is to be injected; nevernull
- Returns:
- the aggregated result; may be
null
but only if the target type is a reference type - Throws:
ArgumentsAggregationException
- if an error occurs during the aggregation- Since:
- 5.13
-