testcase 1 и testcase 2 идентичны, существует только одно незначительное отличие, что в Testcase2. Приведен «getIdentitier», но просто делегируйте в супер метод. Отладчик показывает, что Testcase 1, отражение вызывает метод по умолчанию интерфейса (который возвращает NULL), а Testcase 2 вызывает GetIentifier класса. < /P>
Код: Выделить всё
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import org.hl7.fhir.r4.model.BaseReference;
import org.hl7.fhir.r4.model.Identifier;
import org.hl7.fhir.r4.model.Reference;
import org.junit.jupiter.api.Test;
public class ReflectionTestOnSuperMethods {
@Test
public void testJavaReflection1() throws NoSuchMethodException, SecurityException, IllegalAccessException, InvocationTargetException {
var example1 = new ExampleDto1();
Identifier id = new Identifier();
id.setValue("abc");
example1.setIdentifier(id);
Method method = BaseReference.class.getMethod("getIdentifier");
assertNotNull(example1.getIdentifier());
assertNotNull(method.invoke(example1, new Object[0]));
}
@Test
public void testJavaReflection2() throws NoSuchMethodException, SecurityException, IllegalAccessException, InvocationTargetException {
var example2 = new ExampleDto2();
Identifier id = new Identifier();
id.setValue("abc");
example2.setIdentifier(id);
Method method = BaseReference.class.getMethod("getIdentifier");
assertNotNull(example2.getIdentifier());
assertNotNull(method.invoke(example2, new Object[0]));
}
public static class ExampleDto1 extends Reference {
/*public Identifier getIdentifier() {
return super.getIdentifier();
}*/
}
public static class ExampleDto2 extends Reference {
public Identifier getIdentifier() {
return super.getIdentifier();
}
}
}
https://github.com/thopap/reflectiontest/образно (https://github.com/oehf/ipf). При попытке обновить Hapi FHIR 8.4, некоторые тестовых испытаний не проходят. После тренировки HAPI представляет метод по умолчанию в 8.4.
Подробнее здесь: https://stackoverflow.com/questions/797 ... tion-any-i
Мобильная версия