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.List<java.lang.Class<? extends java.lang.annotation.Annotation>> |
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 |
areAllOptionalValuesNull(java.lang.String[] optionalValues) |
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(ConstructorOrMethod m,
Parameters.MethodParameters params,
IAnnotationFinder finder,
XmlSuite xmlSuite,
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(ConstructorOrMethod 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) |
private static java.lang.String[] |
extractOptionalValues(IAnnotationFinder finder,
ConstructorOrMethod consMethod) |
private static Parameter[] |
extractParameters(ConstructorOrMethod method) |
(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),
@Factory(dataProvider) on a method or @Factory(dataProvider) on a constructor. |
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,
java.util.Collection<IDataProviderListener> dataProviderListeners)
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,
java.lang.String annotationName)
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 boolean |
isDataProviderClassEmpty(ITestAnnotation annotation) |
private static boolean |
isDataProviderNameEmpty(ITestAnnotation annotation) |
private static IDataProvidable |
merge(ITestAnnotation methodLevel,
ITestAnnotation classLevel) |
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 java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> 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)
public 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
- - The parameter types to be usedoptionalValues
- - The optional values to be considered.private static boolean areAllOptionalValuesNull(java.lang.String[] optionalValues)
private static java.lang.Object[] createParametersForMethod(ConstructorOrMethod method, java.lang.Class<?>[] parameterTypes, java.lang.String[] optionalValues, java.lang.String methodAnnotation, java.lang.String[] parameterNames, Parameters.MethodParameters params, XmlSuite xmlSuite)
private static Parameter[] extractParameters(ConstructorOrMethod method)
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)
@Factory(dataProvider)
on a method or @Factory(dataProvider) on a constructor.private static IDataProvidable merge(ITestAnnotation methodLevel, ITestAnnotation classLevel)
private static boolean isDataProviderClassEmpty(ITestAnnotation annotation)
private static boolean isDataProviderNameEmpty(ITestAnnotation annotation)
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.String[] extractOptionalValues(IAnnotationFinder finder, ConstructorOrMethod consMethod)
private static java.lang.Object[] createParameters(ConstructorOrMethod m, Parameters.MethodParameters params, IAnnotationFinder finder, XmlSuite xmlSuite, 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, java.util.Collection<IDataProviderListener> dataProviderListeners)
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, java.lang.String annotationName)
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)