4

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

请帮忙

  TestNG testNG = new TestNG();
    List<XmlClass> classList =new ArrayList<XmlClass>();
    List<XmlTest> testList = new ArrayList<XmlTest>();
    List<XmlSuite> suiteList= new ArrayList<XmlSuite>();
    List<String> suiteNameList = new ArrayList<String>();
    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();

谢谢你,达沙那。

4

2 回答 2

2

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

于 2012-01-25T18:18:29.623 回答
0

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

 @BeforeSuite
 public static void TestSuite() {
    TestNG testNG = new TestNG();

    List<Class> listnerClasses = new ArrayList<Class>();
    List<String> suiteNameList = new ArrayList<String>();
    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();
}

谢谢大家的帮助 :)

编辑:改进格式;-)

于 2012-02-04T00:25:55.770 回答