Я пытаюсь перенести библиотеку в java 10, но у меня есть некоторые ошибки, связанные с Mockito и Byte Buddy.Вот фрагмент логики регистрации
java.sql.Driver underlayingDriver = mock(java.sql.Driver.class);
underlayingDriver = mock(java.sql.Driver.class);
DriverManager.registerDriver(underlayingDriver);
и использования:
List<java.sql.Driver> driversInManager = Collections.list(DriverManager.getDrivers());
Проблема возникает во внутренней части JDK, так как он пытается загрузить класс загрузчиком классов:
private static boolean isDriverAllowed(Driver driver, ClassLoader classLoader) {
boolean result = false;
if (driver != null) {
Class<?> aClass = null;
try {
aClass = Class.forName(driver.getClass().getName(), true, classLoader);
} catch (Exception ex) {
result = false;
}
result = ( aClass == driver.getClass() ) ? true : false;
}
return result;
}
Загрузчик классов с поддельным классом отличается от класса вызывающего JUnits.
Как загрузить правильный драйвер из другого загрузчика классов?