我需要一个解决方案来从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/