public class Parameters
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Parameters.FilterOutInJectedTypesResult
Store the result of parameterTypes and optionalValues after filter out injected types
|
static class |
Parameters.MethodParameters
A parameter passing helper class.
|
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,java.lang.Class<? extends IAnnotation>> |
ANNOTATION_MAP |
private static java.lang.Class<?>[] |
annotationList |
private static java.util.List<java.lang.Class<?>> |
INJECTED_TYPES |
private static java.util.Map<java.lang.String,java.util.List<java.lang.Class<?>>> |
mapping |
static java.lang.String |
NULL_VALUE |
Constructor and Description |
---|
Parameters() |
Modifier and Type | Method and Description |
---|---|
private static boolean |
canInject(java.lang.String annotation) |
private static void |
checkParameterTypes(java.lang.String methodName,
java.lang.Class<?>[] parameterTypes,
java.lang.String methodAnnotation,
java.lang.String[] parameterNames) |
static <T> T |
convertType(java.lang.Class<T> type,
java.lang.String value,
java.lang.String paramName) |
static java.lang.Object[] |
createConfigurationParameters(java.lang.reflect.Method m,
java.util.Map<java.lang.String,java.lang.String> params,
java.lang.Object[] parameterValues,
ITestNGMethod currentTestMethod,
IAnnotationFinder finder,
XmlSuite xmlSuite,
ITestContext ctx,
ITestResult testResult)
Creates the parameters needed for the specified @Configuration
Method . |
static java.lang.Object[] |
createInstantiationParameters(java.lang.reflect.Constructor ctor,
java.lang.String methodAnnotation,
IAnnotationFinder finder,
java.lang.String[] parameterNames,
java.util.Map<java.lang.String,java.lang.String> params,
XmlSuite xmlSuite)
Creates the parameters needed for constructing a test class instance.
|
private static java.lang.Object[] |
createParameters(java.lang.reflect.Method m,
Parameters.MethodParameters params,
IAnnotationFinder finder,
XmlSuite xmlSuite,
java.lang.Class annotationClass,
java.lang.String atName) |
private static java.lang.Object[] |
createParametersForConstructor(java.lang.reflect.Constructor constructor,
java.lang.Class<?>[] parameterTypes,
java.lang.String[] optionalValues,
java.lang.String methodAnnotation,
java.lang.String[] parameterNames,
Parameters.MethodParameters params,
XmlSuite xmlSuite) |
private static java.lang.Object[] |
createParametersForMethod(java.lang.reflect.Method method,
java.lang.Class<?>[] parameterTypes,
java.lang.String[] optionalValues,
java.lang.String methodAnnotation,
java.lang.String[] parameterNames,
Parameters.MethodParameters params,
XmlSuite xmlSuite) |
private static java.util.List<java.lang.Object> |
createParams(java.lang.String name,
java.lang.String prefix,
java.lang.String methodAnnotation,
java.lang.Class<?>[] parameterTypes,
java.lang.String[] optionalValues,
java.lang.String[] parameterNames,
Parameters.MethodParameters params,
XmlSuite xmlSuite) |
(package private) static Parameters.FilterOutInJectedTypesResult |
filterOutInJectedTypesFromOptionalValues(java.lang.Class<?>[] parameterTypes,
java.lang.String[] optionalValues)
Remove injected types from parameterTypes and optionalValues
|
private static IDataProviderMethod |
findDataProvider(java.lang.Object instance,
ITestClass clazz,
ConstructorOrMethod m,
IAnnotationFinder finder,
ITestContext context) |
private static IDataProviderMethod |
findDataProvider(java.lang.Object instance,
ITestClass clazz,
IAnnotationFinder finder,
java.lang.String name,
java.lang.Class<?> dataProviderClass,
ITestContext context)
Find a method that has a @DataProvider(name=name)
|
private static IDataProvidable |
findDataProviderInfo(ITestClass clazz,
ConstructorOrMethod m,
IAnnotationFinder finder)
Find the data provider info (data provider name and class) on either @Test(dataProvider),
|
private static java.lang.String |
getDataProviderName(IDataProviderAnnotation dp,
java.lang.reflect.Method m) |
static java.lang.Object |
getInjectedParameter(java.lang.Class<?> c,
java.lang.reflect.Method method,
ITestContext context,
ITestResult testResult)
Deprecated.
- This method stands deprecated as of TestNG v6.11. There are no alternatives.
|
static java.lang.Object[] |
getParametersFromIndex(java.util.Iterator<java.lang.Object[]> parametersValues,
int index) |
static ParameterHolder |
handleParameters(ITestNGMethod testMethod,
java.util.Map<java.lang.String,java.lang.String> allParameterNames,
java.lang.Object instance,
Parameters.MethodParameters methodParams,
XmlSuite xmlSuite,
IAnnotationFinder annotationFinder,
java.lang.Object fedInstance)
If the method has parameters, fill them in.
|
static ParameterHolder |
handleParameters(ITestNGMethod testMethod,
java.util.Map<java.lang.String,java.lang.String> allParameterNames,
java.lang.Object instance,
Parameters.MethodParameters methodParams,
XmlSuite xmlSuite,
IAnnotationFinder annotationFinder,
java.lang.Object fedInstance,
java.util.Collection<IDataProviderListener> dataProviderListeners)
If the method has parameters, fill them in.
|
static java.lang.Object[] |
injectParameters(java.lang.Object[] parameterValues,
java.lang.reflect.Method method,
ITestContext context)
Gets an array of parameter values returned by data provider or the ones that
are injected based on parameter type.
|
private static java.lang.String |
prettyFormat(java.util.List<java.lang.Class<?>> classes) |
private static java.lang.Class<? extends java.lang.annotation.Annotation> |
retrieveConfigAnnotation(java.lang.reflect.Method m) |
private static boolean |
validParameters(java.lang.String methodAnnotation,
java.lang.Class[] parameterTypes) |
public static final java.lang.String NULL_VALUE
private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,java.lang.Class<? extends IAnnotation>> ANNOTATION_MAP
private static java.lang.Class<?>[] annotationList
private static java.util.Map<java.lang.String,java.util.List<java.lang.Class<?>>> mapping
private static final java.util.List<java.lang.Class<?>> INJECTED_TYPES
public static java.lang.Object[] createInstantiationParameters(java.lang.reflect.Constructor ctor, java.lang.String methodAnnotation, IAnnotationFinder finder, java.lang.String[] parameterNames, java.util.Map<java.lang.String,java.lang.String> params, XmlSuite xmlSuite)
finder
- TODOpublic static java.lang.Object[] createConfigurationParameters(java.lang.reflect.Method m, java.util.Map<java.lang.String,java.lang.String> params, java.lang.Object[] parameterValues, @Nullable ITestNGMethod currentTestMethod, IAnnotationFinder finder, XmlSuite xmlSuite, ITestContext ctx, ITestResult testResult)
Method
.m
- the configuraton methodcurrentTestMethod
- the current @Test method or null
if no @Test is available (this is not
only in case the configuration method is a @Before/@AfterMethodfinder
- the annotation finderprivate static java.lang.Class<? extends java.lang.annotation.Annotation> retrieveConfigAnnotation(java.lang.reflect.Method m)
@Deprecated public static java.lang.Object getInjectedParameter(java.lang.Class<?> c, java.lang.reflect.Method method, ITestContext context, ITestResult testResult)
private static java.lang.Object[] createParametersForConstructor(java.lang.reflect.Constructor constructor, java.lang.Class<?>[] parameterTypes, java.lang.String[] optionalValues, java.lang.String methodAnnotation, java.lang.String[] parameterNames, Parameters.MethodParameters params, XmlSuite xmlSuite)
private static java.util.List<java.lang.Object> createParams(java.lang.String name, java.lang.String prefix, java.lang.String methodAnnotation, java.lang.Class<?>[] parameterTypes, java.lang.String[] optionalValues, java.lang.String[] parameterNames, Parameters.MethodParameters params, XmlSuite xmlSuite)
static Parameters.FilterOutInJectedTypesResult filterOutInJectedTypesFromOptionalValues(java.lang.Class<?>[] parameterTypes, java.lang.String[] optionalValues)
parameterTypes
- optionalValues
- private static java.lang.Object[] createParametersForMethod(java.lang.reflect.Method method, java.lang.Class<?>[] parameterTypes, java.lang.String[] optionalValues, java.lang.String methodAnnotation, java.lang.String[] parameterNames, Parameters.MethodParameters params, XmlSuite xmlSuite)
private static boolean canInject(java.lang.String annotation)
private static void checkParameterTypes(java.lang.String methodName, java.lang.Class<?>[] parameterTypes, java.lang.String methodAnnotation, java.lang.String[] parameterNames)
private static boolean validParameters(java.lang.String methodAnnotation, java.lang.Class[] parameterTypes)
private static java.lang.String prettyFormat(java.util.List<java.lang.Class<?>> classes)
public static <T> T convertType(java.lang.Class<T> type, java.lang.String value, java.lang.String paramName)
private static IDataProviderMethod findDataProvider(java.lang.Object instance, ITestClass clazz, ConstructorOrMethod m, IAnnotationFinder finder, ITestContext context)
private static IDataProvidable findDataProviderInfo(ITestClass clazz, ConstructorOrMethod m, IAnnotationFinder finder)
private static IDataProviderMethod findDataProvider(java.lang.Object instance, ITestClass clazz, IAnnotationFinder finder, java.lang.String name, java.lang.Class<?> dataProviderClass, ITestContext context)
private static java.lang.String getDataProviderName(IDataProviderAnnotation dp, java.lang.reflect.Method m)
private static java.lang.Object[] createParameters(java.lang.reflect.Method m, Parameters.MethodParameters params, IAnnotationFinder finder, XmlSuite xmlSuite, java.lang.Class annotationClass, java.lang.String atName)
public static ParameterHolder handleParameters(ITestNGMethod testMethod, java.util.Map<java.lang.String,java.lang.String> allParameterNames, java.lang.Object instance, Parameters.MethodParameters methodParams, XmlSuite xmlSuite, IAnnotationFinder annotationFinder, java.lang.Object fedInstance)
public static ParameterHolder handleParameters(ITestNGMethod testMethod, java.util.Map<java.lang.String,java.lang.String> allParameterNames, java.lang.Object instance, Parameters.MethodParameters methodParams, XmlSuite xmlSuite, IAnnotationFinder annotationFinder, java.lang.Object fedInstance, java.util.Collection<IDataProviderListener> dataProviderListeners)
public static java.lang.Object[] injectParameters(java.lang.Object[] parameterValues, java.lang.reflect.Method method, ITestContext context) throws TestNGException
NoInjection
annotationparameterValues
- parameter values from a data providermethod
- method to be invokedcontext
- test contextTestNGException
public static java.lang.Object[] getParametersFromIndex(java.util.Iterator<java.lang.Object[]> parametersValues, int index)