Как правильно издеваться над GSSManager?
Я хочу издеваться над GSSManager для модульного тестирования с использованием Powermock. Это не удалось, когда я сделал mockStatic(GSSManager.class) из-за этой ошибки:
java.lang.VerifyError: Bad return type
Exception Details:
Location:
org/ietf/jgss/GSSManager.getInstance()Lorg/ietf/jgss/GSSManager; @157: areturn
Reason:
Type 'sun/security/jgss/GSSManagerImpl' (current frame, stack[0]) is not assignable to 'org/ietf/jgss/GSSManager' (from method signature)
Current Frame:
bci: @157
flags: { }
locals: { 'java/lang/Object', null, 'sun/security/jgss/GSSManagerImpl', 'java/lang/Object' }
stack: { 'sun/security/jgss/GSSManagerImpl' }
Я не могу понять почему. GetInstance в GSSManager возвращает новый GSSManagerImpl
Я думаю, что это может быть ошибка связи:
java.lang.LinkageError: loader constraint violation: when resolving overridden method "sun.security.jgss.GSSManagerImpl$$EnhancerByCGLIB$$3bcb7afc.getMechs()[Lorg/ietf/jgss/Oid;" the class loader (instance of org/powermock/core/classloader/MockClassLoader) of the current class, sun/security/jgss/GSSManagerImpl$$EnhancerByCGLIB$$3bcb7afc, and its superclass loader (instance of <bootloader>), have different Class objects for the type [Lorg/ietf/jgss/Oid; used in the signature