- sathya
- Posts : 6
Join date : 2010-04-14
annotationtransformers not able to override
Tue Jun 08, 2010 6:16 pm
Hi,
At runtime I want to override the number of times my function verify() .
i am doing as mentioned in the below URL, but my function verify() is called 3 times and not 5 times (annotation.setInvocationCount(5) looks like the method transform () is not getting called.
Please help....thanks in advance...
http://testng.googlecode.com/svn/tags/5.10/doc/documentation-main.html#annotationtransformers
--------------------------------------------------------------------------------------
InterFace : IAnnotationTransformer
--------------------------------------------------------------------------------------
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.internal.annotations.ITest;
public interface IAnnotationTransformer {
public void transform(ITest annotation,
Class testClass,
Constructor testConstructor,
Method testMethod);
}
--------------------------------------------------------------------------------------
TestNG :SimpleTest.java
--------------------------------------------------------------------------------------
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.TestNG;
import org.testng.annotations.Test;
import org.testng.internal.annotations.ITest;
public class SimpleTest implements IAnnotationTransformer {
public void transform(ITest annotation, Class testClass,
Constructor testConstructor, Method testMethod)
{
if ("verify1".equals(testMethod.getName()))
{
annotation.setInvocationCount(5);
}
}// end of method transform()
@Test(invocationCount=3)
public void verify1()
{
SimpleTest s = new SimpleTest();
System.out.println("Fast test");
}
}
--------------------------------------------------------------------------------------
Suite file : suite.xml
--------------------------------------------------------------------------------------
At runtime I want to override the number of times my function verify() .
i am doing as mentioned in the below URL, but my function verify() is called 3 times and not 5 times (annotation.setInvocationCount(5) looks like the method transform () is not getting called.
Please help....thanks in advance...
http://testng.googlecode.com/svn/tags/5.10/doc/documentation-main.html#annotationtransformers
--------------------------------------------------------------------------------------
InterFace : IAnnotationTransformer
--------------------------------------------------------------------------------------
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.internal.annotations.ITest;
public interface IAnnotationTransformer {
public void transform(ITest annotation,
Class testClass,
Constructor testConstructor,
Method testMethod);
}
--------------------------------------------------------------------------------------
TestNG :SimpleTest.java
--------------------------------------------------------------------------------------
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.TestNG;
import org.testng.annotations.Test;
import org.testng.internal.annotations.ITest;
public class SimpleTest implements IAnnotationTransformer {
public void transform(ITest annotation, Class testClass,
Constructor testConstructor, Method testMethod)
{
if ("verify1".equals(testMethod.getName()))
{
annotation.setInvocationCount(5);
}
}// end of method transform()
@Test(invocationCount=3)
public void verify1()
{
SimpleTest s = new SimpleTest();
System.out.println("Fast test");
}
}
--------------------------------------------------------------------------------------
Suite file : suite.xml
--------------------------------------------------------------------------------------
Permissions in this forum:
You cannot reply to topics in this forum