У меня есть класс Java. Как я могу проверить, содержит ли класс методы, которые являются тестами JUnit4? Нужно ли выполнять итерацию для всех методов, использующих отражение, или JUnit4 предоставляет такую проверку?
Редактировать:
, поскольку комментарии не могут содержать код, я разместил свой код на основе ответа здесь:
private static boolean containsUnitTests(Class<?> clazz)
{
List<FrameworkMethod> methods= new TestClass(clazz).getAnnotatedMethods(Test.class);
for (FrameworkMethod eachTestMethod : methods)
{
List<Throwable> errors = new ArrayList<Throwable>();
eachTestMethod.validatePublicVoidNoArg(false, errors);
if (errors.isEmpty())
{
return true;
}
else
{
throw ExceptionUtils.toUncheked(errors.get(0));
}
}
return false;
}