Interface ArgumentsAggregator


  • @API(status=EXPERIMENTAL,
         since="5.2")
    public interface ArgumentsAggregator
    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.

    Since:
    5.2
    See Also:
    AggregateWith, ArgumentsAccessor, ParameterizedTest
    • Method Detail

      • aggregateArguments

        Object aggregateArguments​(ArgumentsAccessor accessor,
                                  ParameterContext context)
                           throws ArgumentsAggregationException
        Aggregate the arguments contained in the supplied accessor into a single object.
        Parameters:
        accessor - an ArgumentsAccessor containing the arguments to be aggregated; never null
        context - the parameter context where the aggregated result is to be supplied; never null
        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