以编程方式实现TestNg套件并通过maven surefire执行它

如何使用java而不是testng.xml实现TestNG测试套件。 我遵循以下程序,但我不能用maven suefire插件运行它。

请帮忙

TestNG testNG = new TestNG(); List classList =new ArrayList(); List testList = new ArrayList(); List suiteList= new ArrayList(); List suiteNameList = new ArrayList(); XmlTest xmlTest= new XmlTest(); XmlSuite suite = new XmlSuite(); XmlClass xmlClass = new XmlClass(); xmlClass.setClass(bpsTestNg.class); classList.add(xmlClass); xmlTest.setClasses(classList); testList.add(xmlTest); suite.setTests(testList); suiteList.add(suite); suite.setName("sampleSuite1"); suiteNameList.add("sampleSuite1") ; suite.toXml(); IConfiguration iConfiguration = null; SuiteRunner suiteRunner= new SuiteRunner(iConfiguration,suite,"."); suiteRunner.run(); 

谢谢你,Dharshana。

如果您正在使用API​​,那么您的主类不再是TestNG测试类,而只是常规Java类,因此Surefire不再将其视为测试也就不足为奇了。

您好我解决了这个问题请参考下面的代码

  @BeforeSuite public static void TestSuite() { TestNG testNG = new TestNG(); List listnerClasses = new ArrayList(); List suiteNameList = new ArrayList(); Class[] classList = new Class[]{ ManagementClient.class, ProcessManagementClient.class, DeployClient.class, RedeployClient.class}; listnerClasses.add(org.wso2.platform.test.core.PlatformTestManager.class); listnerClasses.add(org.wso2.platform.test.core.PlatformSuiteManager.class); testNG.setDefaultSuiteName("suite"); testNG.setListenerClasses(listnerClasses); testNG.setTestClasses(classList); testNG.run(); } 

感谢大家的帮助 :)

编辑:改进格式;-)