Мы смотрим на переключение на Spring 3.0 и столкновение с проблемами с пересечением Spring 3.0, EasyMock и Дженериков Java.
В одном месте мы дразним Spring 3.0 AbstractBeanFactory, конкретно этот метод:
public Class<?> getType(String name) throws NoSuchBeanDefinitionException { ... }
Под более ранними версиями Spring это возвращает недженерик, и все было хорошо. С дженериком, однако, мы сталкиваемся с проблемой с этим:
expect(mockBeanFactory.getType(CLASS_NAME)).andReturn(SOME_CLASS);
Поскольку getType
возвраты Class<?>
, andReturn
требует Class<?>
в качестве параметра, который просто не работает правильно.
Существует ли известное обходное решение к этому?
Я уже сталкивался с подобной проблемой раньше с Mockito. Я пока не знаю, почему это происходит. Вы можете привести аргумент expect (..) к неуниверсальному типу Class, ala
expect((Class) mockBeanFactory.getType(CLASS_NAME)).andReturn(SOME_CLASS);
. Тогда у вас будет просто предупреждение, которое вы можете подавить, если хотите. Не очень изящное решение; Я собираюсь потратить на это еще несколько минут.