java - TestNG - 以编程方式运行特定测试

标签 java testng

我正在尝试以编程方式创建 testng.xml。我使用下面的Java代码

public static createTestSuit(String testClass){
    XmlSuite suite = new XmlSuite();
    suite.setName("My Suite");
    XmlTest test = new XmlTest(suite);
    test.setName("My Test");
    List<XmlClass> classes = new ArrayList<XmlClass>();
    classes.add(new XmlClass(testClass));
    test.setXmlClasses(classes) ;
    List<XmlSuite> suites = new ArrayList<XmlSuite>();
    suites.add(suite);
    TestNG tng = new TestNG();
    tng.setXmlSuites(suites);
    tng.run();
}

“testClass”类包含多个测试方法。我不想运行所有这些方法。如何在上面的代码中只指定我想要运行的测试方法名称,以便上面的方法看起来像

public static createTestSuit(String testClass, List<String> testCasesID){
      //code
}

注意:我的测试方法采用以下形式

   @Test(testName="testCaseID")
    public void test1(){
    }

最佳答案

使用 XmlInclude 仅包含您想要的测试方法。

XmlClass xmlClass = new XmlClass("");
List<XmlInclude> includeMethods = new ArrayList<>();
includeMethods.add(new XmlInclude("test1"));
xmlClass.setIncludedMethods(includeMethods);

如果包含方法列表未定义或定义为空,则 TestNG 将运行类中的所有测试。否则,它将仅运行按方法名称包含的测试。

关于java - TestNG - 以编程方式运行特定测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36709814/

相关文章:

java - 从github导入maven项目到Intellij IDEA

java - 如何通过 Java 查明 Domino 服务器中是否正在运行特定任务?

java - 如何调试使用 dataproviders 的 testng 测试?

java - TestNg Selenium-动态查找表列值

Java-TestNG : Read an excel file, 通过 TestNG 和 Apache POI 断言并写回 excel 文件

java - 并行测试期间测试失败后如何关闭浏览器

java - QueryDSL JPA 和 PostgreSQL 的集合查询问题

java - JTable 使用 Swings 拖放文件

java - TestNG 依赖于不同类的方法

java - 无法从java中的日期中减去天数