Hi Krishnan Mahadevan, Here you can check my scenario. I have a class like
public class Hello{
@Test
public void A(){
}
@Test(dependsonmethods="A")
public void B(){
}
}
Here I am calling the above mentioned two methods from testNG programatically like
Class Suite{
TestNG tng = new TestNG();
tng.addListener(rtest);
XmlSuite suite = new XmlSuite();
ArrayList<XmlTest> tests = new ArrayList<XmlTest>();
suite.setName("Hello");
List<XmlTest> xmlTest = new ArrayList<XmlTest>();
XmlTest test = new XmlTest(suite);
String methods []= {A, B};
for(int i=0; i <2; i++){
test.setName(methods[i]);
ArrayList<XmlInclude> methodsToRun = new ArrayList<XmlInclude>();
ArrayList<XmlClass> classes1 = new ArrayList<XmlClass>();
XmlClass classes = new XmlClass();
classes.setName("Hello");
methodsToRun.add(new XmlInclude(methods[i]));
classes.setIncludedMethods(methodsToRun);
classes1.add(classes);
test.setXmlClasses(classes1);
xmlTest.add(test);
tests.addAll(xmlTest);
}
suite.setTests(tests);
xmlSuites.add(suite);
tng.setXmlSuites(xmlSuites);
tng.run();
}
When I run Suite I getting an error as "B() is depending on method A() throws java.io.IOException,java.lang.InterruptedException, which is not annotated with @Test or not included."