我需要一个解决方案来从jar文件中识别测试类并执行它们。这就是我的Web应用程序接受jar文件作为输入并识别jar中的测试类并执行它们并显示结果。

目前,每当我尝试从jar访问类文件时,我都面临类未找到异常。我想我需要将外部jar文件添加到类路径中吗?

最佳答案

您可以按照以下步骤操作:


获取Jar文件路径
从中阅读课程
遍历这些类
获取每个类的方法
检查每个类中使用的注释。
最新版本的JUnit测试类具有@Test批注。因此,如果您获得@org.junit.Test批注,则可以说它是一个测试类。

    Method[] methods = classObject.getClass().getMethods();

    for (Method method : methods) {
        Annotation[] annotations = method.getAnnotations();
        for (Annotation annotation : annotations) {
            System.out.println(annotation.toString());
        }
    }



此代码的输出-

@org.junit.Test(expected=class org.junit.Test$None, timeout=0)
@org.junit.After()



找到测试类后,执行它。

关于java - 动态识别测试类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30392727/

10-12 02:06