package org.testng;

import org.testng.annotations.IConfigurationAnnotation;
import org.testng.annotations.IDataProviderAnnotation;
import org.testng.annotations.IFactoryAnnotation;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

Use this interface instead of IAnnotationTransformer if you want to modify any TestNG annotation besides @Test.
/** * Use this interface instead of IAnnotationTransformer if you want to modify any TestNG * annotation besides @Test. */
public interface IAnnotationTransformer2 extends IAnnotationTransformer {
Transform an IConfiguration annotation. Note that only one of the three parameters testClass, testConstructor and testMethod will be non-null.
Params:
  • annotation – The annotation that was read from your test class.
  • testClass – If the annotation was found on a class, this parameter represents this class (null otherwise).
  • testConstructor – If the annotation was found on a constructor, this parameter represents this constructor (null otherwise).
  • testMethod – If the annotation was found on a method, this parameter represents this method (null otherwise).
/** * Transform an IConfiguration annotation. * * Note that only one of the three parameters testClass, * testConstructor and testMethod will be non-null. * * @param annotation The annotation that was read from your * test class. * @param testClass If the annotation was found on a class, this * parameter represents this class (null otherwise). * @param testConstructor If the annotation was found on a constructor, * this parameter represents this constructor (null otherwise). * @param testMethod If the annotation was found on a method, * this parameter represents this method (null otherwise). */
public void transform(IConfigurationAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod);
Transform an IDataProvider annotation.
Params:
  • method – The method annotated with the IDataProvider annotation.
/** * Transform an IDataProvider annotation. * * @param method The method annotated with the IDataProvider annotation. */
public void transform(IDataProviderAnnotation annotation, Method method);
Transform an IFactory annotation.
Params:
  • method – The method annotated with the IFactory annotation.
/** * Transform an IFactory annotation. * * @param method The method annotated with the IFactory annotation. */
public void transform(IFactoryAnnotation annotation, Method method); }