Как использовать отражение с ложными объектами Mockito - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь протестировать некоторый Java-код, который использует отражение, и как часть теста мне нужно создать объект, который отличается от тестируемого объекта, но имеет общий (абстрактный) родительский (на самом деле, Optional обертывание объекта). Я тестирую предикат в форме:

abstractForm.isPresent() && (abstractForm.get().getClass() != this.getClass())

(не мой дизайн - не вините меня!) И нужно создать фиктивный объект для abstractForm. Если я создаю его с помощью Mockito, просто используя SacmElement citedElement = mock(SacmElement.class), на самом деле все прекрасно работает , за исключением . Я получаю предупреждение:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.mockito.cglib.core.ReflectUtils$2 (file:/C:/Users/owner/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.mockito.cglib.core.ReflectUtils$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Так что пока это работает , но вряд ли оно продолжит работать. Это выходит за рамки того, что может сделать Mockito, или есть неослабный способ получить доступ к классу объекта Mockito?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...