Мне нужно сгенерировать комплекты тестов программно на основе параметров теста.
Это основная функция:
public class DataValidator {
public static void main (String args[]) {
TestState testState = new TestState();
//Create an instance on TestNG
TestNG testNg = new TestNG();
List<XmlSuite> suites = new ArrayList<XmlSuite>();
TestRunner testRunner = new TestRunner(testState);
XmlSuite testSuite = testRunner.generateSuite();
suites.add(testSuite);
testNg.setXmlSuites(suites);
testNg.run();
}
}
Это запускщик тестов, который генерирует комплекты тестов.
public class TestRunner {
private TestState testState;
public TestRunner(TestState testState) {
this.testState = testState;
}
public XmlSuite generateSuite( ) {
XmlSuite testSuite = new XmlSuite();
XmlTest xmlTest = new XmlTest();
xmlTest.setName("TestState");
List<XmlClass> xmlClasses = new ArrayList<XmlClass>();
xmlClasses.add(new XmlClass(JobCreated.class.getName()));
xmlTest.setXmlClasses(xmlClasses);
testSuite.addTest(xmlTest);
return testSuite;
}
Это класс, созданный заданием
public class JobCreated {
@Test
public void test1() {
System.out.println("passed test 1");
}
}
Когда я запускаю тест как приложение Java, я получаю следующее исключение NullPointerException:
Exception in thread "main" java.lang.NullPointerException
at org.testng.xml.XmlTest.getVerbose(XmlTest.java:249)
at org.testng.TestRunner.init(TestRunner.java:212)
at org.testng.TestRunner.<init>(TestRunner.java:167)
at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:663)
at org.testng.SuiteRunner.init(SuiteRunner.java:260)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at data_validator_testng.DataValidator.main(DataValidator.java:39)
Я не могучтобы понять, что вызывает эту ошибку.