일반 오브젝트 (즉, T)를 목록에 추가하는 add 메소드가 있습니다. 나는이 방법을 단위 테스트하고 싶다.일반 유형을 허용하는 메소드를 반영하려고 시도합니다.
public static <T> List<T> add(List<T> list, T t) {
if(list == null) return null;
if(t == null) return list;
List<T> outputList = new ArrayList<T>(list);
outputList.add(t); // append item into list
return outputList;
}
나는 방법을 얻고 그것을 시험하고있다. 나는 다음 코드 스 니펫을 작성하여 (나는 올바르지 않다는 것을 알고있다) 메소드를 얻는다.
Class myClass = Myclass.class;
Class<List<T>> clazz = (Class<List<T>>) Class.forName("java.util.ArrayList");
Method myObjectMethod = myClass.getMethod("add", ...) // i need to identify T's class
특정 흔적 오류를 시도하면 NoSuchMethod 예외가 발생합니다.
아무도 나를이 방법을 식별하는 데 도움이 될 수 있습니까? 위의 코드를 수정하는 모든 포인터?
감사합니다.
관심이 있으신 이유는 무엇입니까?이 방법을 테스트하기 위해 반성이 필요한 이유는 무엇입니까? – darrengorman
이 메서드는 사용자 지정 Eclipse에서 노출 중입니다. 당신이 알고 있을지 모르겠지만 Eclipse는 리플렉션을 사용하여 (클래스를 검사하고 메소드를 제안합니다.) Eclipse에 추가하기 전에 단위 테스트를 원했습니다. –