Ich versuche, testng.xml programmgesteuert zu erstellen. Ich benutze unten Java CodeTestNG - spezifische Tests programmgesteuert ausführen
public static createTestSuit(String testClass){
XmlSuite suite = new XmlSuite();
suite.setName("My Suite");
XmlTest test = new XmlTest(suite);
test.setName("My Test");
List<XmlClass> classes = new ArrayList<XmlClass>();
classes.add(new XmlClass(testClass));
test.setXmlClasses(classes) ;
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestNG tng = new TestNG();
tng.setXmlSuites(suites);
tng.run();
}
Die Klasse 'testClass' enthält mehrere Testmethoden. Ich möchte nicht alle diese Methoden ausführen. Wie kann ich nur die Testmethodennamen angeben, die ich in obigem Code ausgeführt werden soll, so dass das obige Verfahren so etwas wie
public static createTestSuit(String testClass, List<String> testCasesID){
//code
}
Hinweis aussehen sollte:
@Test(testName="testCaseID")
public void test1(){
}
Dieser Code funktioniert gut, aber ist es eine Möglichkeit, ‚Testname‘ anstelle von Methodennamen mit ‚includeMethods‘ angeben? – stackoverflow
@curious Ich bin mir nicht sicher, ob testNG diese Funktion hat, da es keine Garantie gibt, dass Sie all Ihren Tests eindeutige Namen geben. Sie können die Klassen jedoch immer selbst durchlaufen, die gewünschten Methoden anhand ihrer Anmerkungen finden und diese Methoden an TestNG übergeben – SimY4