Module org.junit.jupiter.params
Interface ArgumentConverter
- All Known Implementing Classes:
DefaultArgumentConverter
,SimpleArgumentConverter
,TypedArgumentConverter
@API(status=STABLE, since="5.7") public interface ArgumentConverter
ArgumentConverter
is an abstraction that allows an input object to
be converted to an instance of a different class.
Such an ArgumentConverter
is applied to the method parameter
of a @ParameterizedTest
method with the help of a
@ConvertWith
annotation.
See SimpleArgumentConverter
in case your implementation only needs
to know about the target type instead of the complete
ParameterContext
.
Implementations must provide a no-args constructor and 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 and designed to be used as singletons.
- Since:
- 5.0
- See Also:
SimpleArgumentConverter
,ParameterizedTest
,ConvertWith
,AnnotationConsumer
-
Method Summary
Modifier and Type Method Description Object
convert(Object source, ParameterContext context)
Convert the suppliedsource
object according to the suppliedcontext
.
-
Method Details
-
convert
Convert the suppliedsource
object according to the suppliedcontext
.- Parameters:
source
- the source object to convert; may benull
context
- the parameter context where the converted object will be used; nevernull
- Returns:
- the converted object; may be
null
but only if the target type is a reference type - Throws:
ArgumentConversionException
- if an error occurs during the conversion
-