• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package test.annotationtransformer;
2 
3 import org.testng.IAnnotationTransformer;
4 import org.testng.annotations.ITestAnnotation;
5 
6 import java.lang.reflect.Constructor;
7 import java.lang.reflect.Method;
8 import java.util.ArrayList;
9 import java.util.List;
10 
11 public class MyTransformer implements IAnnotationTransformer {
12 
13   private final List<String> methodNames = new ArrayList<>();
14 
15   @Override
transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod)16   public void transform(ITestAnnotation annotation, Class testClass,
17       Constructor testConstructor, Method testMethod) {
18     annotation.setTimeOut(10000);
19     if (testMethod != null) {
20       switch (testMethod.getName()) {
21         case "three":
22           annotation.setInvocationCount(3);
23           break;
24         case "four":
25           annotation.setInvocationCount(4);
26           break;
27         case "five":
28           annotation.setInvocationCount(5);
29           break;
30       }
31       methodNames.add(testMethod.getName());
32     }
33   }
34 
getMethodNames()35   public List<String> getMethodNames() {
36     return methodNames;
37   }
38 }
39