내 경험에 따르면 그렇지 않습니다. conversions page을 보면 테스트 프레임 워크를 지원하는 리플렉션 기능의 하위 집합을 지원한다고합니다.
저는 j2objc 0.56을 사용하고 있습니다. 내가 방법을 호출 할 경우
java.lang.reflect.Method method;
try {
method = biometry.getClass().getMethod(methodName, int.class, double.class);
CalcResult r = (CalcResult) method.invoke(biometry,days, measurement);
return r;
} catch (SecurityException e) {
throw new BiometryException("Security Problem executing " + methodName,e);
} catch (NoSuchMethodException e) {
throw new BiometryException("No such method " + methodName,e);
} catch (IllegalArgumentException e) {
throw new BiometryException("bad argument for " + methodName,e);
} catch (IllegalAccessException e) {
throw new BiometryException("bad access for " + methodName,e);
} catch (InvocationTargetException e) {
throw new BiometryException("bad target for " + methodName,e);
}
을 나는 JavaNullPointer 예외를 얻을 수 있지만, 물론, 내 자바의 JUnit에서 잘 작동합니다. 나는 선택자를 만들고 거기에서 메서드를 호출하여이 문제를 해결하려고 노력했지만 흥미롭게도 작동하지 않는다. (충돌하지는 않지만 올바른 결과를 반환하지 않습니다.)
java.lang.reflect.Field가 지원되지만 다른 java.lang.reflect. * 항목은 지원되지 않을 수 있습니다. 그래서 일반적으로 대답은 '아니오'인 것처럼 보입니다. (어떤 반사가 두 가지 다른 언어에서 지원된다는 놀라운 점은 있지만) – nont
JUnit4, Mockito, 비 AOP Guice 및 Dagger와 같은 반사 집약 라이브러리를 지원하므로 '12 년 이후로 j2objc의 반사 지원이 크게 향상되었습니다. (또 다른 의존성 주입 프레임 워크). – tball