IAnnotation transform method is not disabling the test in testng

Home Forums Software Testing Discussions IAnnotation transform method is not disabling the test in testng

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #25022
    Buddy
    Participant
    @buddy5

    Here my intention is , Based on the before method condition the @Test method needs to enabled or disabled

     

    I need the BeforeTestMethod to check some logic in my actual code and based on that I have to enable the @Test in the class file

     

    public class ListnerClass implements IAnnotationTransformer {

    public static String  testName;

    public void transform(ITestAnnotation iTest, Class testClass, Constructor testConstructor, Method method) {

    if(method.getName().equalsIgnoreCase(testName)) {

    iTest.setEnabled(false);

    }

     

    }

     

    public class TestNGTest3 {

    @BeforeMethod

    public void setUp(Method result) {

    System.out.println(“This is the before Method getting name “+result.getName());

    if(result.getName().contains(“3”))

    {

    ListnerClass.testName=result.getName();

     

    }

    }

     


    @Test

    public void testMethod3() {

    System.out.println(“This is the Method of Method”);

    }

     


    @Test

    public void testMethod4() {

     

    System.out.println(“Hi”);

    }

     

     

     

    }

    TestNG.xml

     

    <?xml version=”1.0″ encoding=”UTF-8″?>

    <!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd”&gt;

    <suite name=” Regression Suite”>

    <listeners>

    <listener class-name=”com.listners.ListnerClass” />

    </listeners>

    <test thread-count=”1″ name=”Test”>

    <classes>

    <class name=”com.test.TestNGTest3″ />

    </classes>

    </test> <!– Test –>

    </suite> <!– Suite –>

    Output:

     

    This is the before Method getting name testMethod3

    This is the Method of Method

    This is the before Method getting name testMethod4

    Hi

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.