자바에서 리플렉션을 사용하여 필자는 사용 가능하게하려는 클래스 이름의 arraylist를 반복하고, 인스턴스를 생성 한 다음 각각에 'parse (String)'이라는 공통 이름의 메소드를 호출하는 코드를 작성했습니다.Java - 동적으로 인스턴스화 된 메서드가 런타임에 호출되는지 확인하는 방법?
for (String parser : enabledParses)
{
Class<?> parserClass = Class.forname(String.format"%s.%s", parserDirectoryPath, parser));
Method parseMethod = parserClass.getMethod("parse", String.class);
Object parserObj = null;
switch (parser)
{
case "parser1" :
parserObj = parserClass.getConstructor(ConfigWrapper.class, Alerter.class).newInstance(config, alerter);
break;
...
...
...
}
parseMethod.invoke(pluginObj, stringToParse);
테스트 할 때 사용 가능한 파서마다 parse() 메서드가 호출되었는지 확인하려면 어떻게합니까?
감사합니다!
유일한 방법은 확인하기 위해, 또는 당신이를 확인했다 경우 나, 알고하자 전화의 결과. –
모욕을 부상에 추가하려면 parse()가 void 메서드입니다. 당신의 도움을 주셔서 감사합니다. – notfreshprince