java - 如何从另一个java类中查找TestNG类中有多少个测试用例

标签 java junit testng

我有两个类

public class xyzTest {
@Test
public void TestP1TUNG557(){
    TestHelper.excuteTestcase(TUNG557);
    Assert.assertTrue(TestHelper.TestResult);
}
@Test
public void TestP1TUNG559(){
    TestHelper.excuteTestcase(TUNG559);
    Assert.assertTrue(TestHelper.TestResult);
}
@Test
public void TestP0TUNG558(){
    TestHelper.excuteTestcase(TUNG558);
    Assert.assertTrue(TestHelper.TestResult);
}
}

public class TestHelper {
 public excuteTestcase(String abc)
{
  process(abc)
}
int TotalTescase(String pattern, Class testNGclass)
 {
   How to write here..? plz help
 }
}

假设如果调用了 TotalTescase(String TestPO, Class xyzTest),它应该返回 1,如果调用了 TotalTescase(String TestP1, Class xyzTest) 它应该返回 2。 如果这有可能获得这样的总测试用例,请帮助我或为我提供一些链接 我已经搜索过但找不到。帮助我

最佳答案

您可以使用反射技术来查找所提供的类中的匹配方法,例如:

     public int TotalTescase(String pattern, Class<?> testNGclass) throws ClassNotFoundException
    {

        int count = 0;

        testNGclass.getClass();
        Class<?> className = Class.forName(testNGclass.getName()); 

        Method[] methods = className.getMethods();

        for(int i=0; i<methods.length; i++)
        {
            String methodName = methods[i].getName();
            System.out.println("Method Name: "+methodName);

            if(methodName.contains(pattern))
            {
                count++;
            }
        }

        return count;

    }

关于java - 如何从另一个java类中查找TestNG类中有多少个测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36003399/

相关文章:

java - 如何在各个 JUnit 测试用例之间实现公共(public)数据共享

java - Delphi Win32和JAVA?

java - 什么是比较失败,JUnit 中预期为空?

java - 如何根据条件自动跳过某些 JUnit 测试?

java - 通过 testng 执行一个又一个的 Selenium 测试,无需重新启动浏览器

java - Main.xml 中的错误

java - 赞成/反对持续集成系统

junit - 使用assertTrue而不是assertNull时丢失分支

unit-testing - 如何将TestNG测试结果分配给用例?

java - TestNG XML 文件无法调用/创建 XSSFWorkbook