Как к EasyMock вызов к методу, который возвращает универсальный подстановочный знак?

Мы смотрим на переключение на 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<?> в качестве параметра, который просто не работает правильно.

Существует ли известное обходное решение к этому?

14
задан Alan Krueger 15 July 2010 в 19:13
поделиться

1 ответ

Я уже сталкивался с подобной проблемой раньше с Mockito. Я пока не знаю, почему это происходит. Вы можете привести аргумент expect (..) к неуниверсальному типу Class, ala

expect((Class) mockBeanFactory.getType(CLASS_NAME)).andReturn(SOME_CLASS);

. Тогда у вас будет просто предупреждение, которое вы можете подавить, если хотите. Не очень изящное решение; Я собираюсь потратить на это еще несколько минут.

21
ответ дан 1 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: