有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

如何使用java而不是TestNG实现TestNG测试套件。xml。我遵循以下过程,但无法使用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();

谢谢,, 达尔沙纳


共 (2) 个答案

  1. # 1 楼答案

    如果您使用的是API,那么您的主类就不再是TestNG测试类,而只是一个普通的Java类,因此Surefire不再将其视为测试也就不足为奇了

  2. # 2 楼答案

    您好,我已解决此问题,请参考下面的代码

     @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();
    }
    

    谢谢大家的帮助:)

    编辑:改进格式;-)