Есть ли способ запустить тест TestNG из другого класса Java.Запуск теста TestNG из другого класса
@Test
public void f(Integer n, String s) {
}
мне нужно запустить один и тот же метод в одном наборе с различными аргументами. (Внутри цикл)
Возможно ли это?
Кроме того, я вижу, что метод датаподавателя должен возвращать Object[][]
. Это отлично подходит для методов с двумя аргументами. Можем ли мы отправить более двух аргументов?
@DataProvider
public Object[][] dp() {
return new Object[][] { new Object[] { 1, "a" }, new Object[] { 2, "b" }, };
}
@Test(dataProvider = "dp")
public void f(Integer n, String s, char c, double d, String s2) {
}
Я пытаюсь сделать это с помощью некоторых TestNG классов
public static void main(String[] args) {
List<XmlClass> classes = new ArrayList<>();
classes.add(new XmlClass("com.test.PortalTest"));
XmlSuite suite = new XmlSuite();
suite.setName("Portal Test Suite");
XmlTest test = null;
for (int index = 0; index < 7; index++) {
test = new XmlTest();
test.setName("Portal Test - " + index);
test.setXmlClasses(classes);
test.addParameter("downloadFileIndex", String.valueOf(index));
suite.addTest(test);
}
List<XmlSuite> suites = new ArrayList<XmlSuite>();
suites.add(suite);
TestListenerAdapter testListenerAdapter = new TestListenerAdapter();
TestNG testNG = new TestNG();
Class[] classesClasses = {PortalTest.class};
testNG.setTestClasses(classesClasses);
testNG.setXmlSuites(suites);
testNG.addListener(testListenerAdapter);
testNG.run();
System.out.println("Passed : " + testListenerAdapter.getPassedTests());
System.out.println("Failed : " + testListenerAdapter.getFailedTests());
System.out.println("Skipped : " + testListenerAdapter.getSkippedTests());
}
Я использую ниже код для запуска метода, имеющего @Test
на один раз. Как я могу запустить метод @Test
несколько раз в одном тесте.
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] { PortalTest.class });
testng.addListener(tla);
testng.run();
Мне нужно запустить его как тест, как в Eclipse. Щелкните правой кнопкой мыши -> Запустить как -> Тест TestNG, который будет запускаться в качестве теста и генерировать отчет. Можно ли это сделать через java, используя классы 'TestNg',' Suite', 'Test' и методы типа' testNg.run() '.... – Venkatesh
Есть ли способ создать' Object [] [] 'динамически? – Venkatesh
Если вы хотите запустить набор тестов программным способом, см. Http://testng.org/doc/documentation-main.html#running-testng-programmatically – mfulton26