Итак, я пытаюсь проверить методы на определенном классе (со стандартным конструктором), а методы тестирования могут быть только public
и типа void
и должны начинаться с «теста».Построить объект типа, определенный во время выполнения?
public static void main(String[] args) throws ClassNotFoundException {
Class<?> c = null;
c = Class.forName(args[0]);
System.out.println(c.getName());
for (Method m : c.getMethods()) {
if (m.getName().startsWith("test")
&& m.getReturnType().equals(Void.TYPE)
&& m.getModifiers() == Modifier.PUBLIC) {
Object o = null;
try {
o = c.newInstance();
} catch (InstantiationException | IllegalAccessException ex) {
System.out.println(ex.getMessage());
}
// ???
}
}
}
Итак, мои проверки работают, но я не знаю, как создать новый экземпляр класса и протестировать метод. Как мне это сделать?
Что вы думаете 'c.newInstance();' делает? –
Я хочу передать это классу, который я использую, и использовать метод 'm' из него. – Tetramputechture
Итак, бросьте его или используйте отражение, чтобы вызвать метод ... – MadProgrammer