У меня есть служба, компонент, содержащий метод @Transactional
:
public class InMessageService {
...
@Transactional
public boolean retryInMessage(String messageId) {
...
}
}
Для тестирования я пытаюсь смоделировать эту службу с помощью Mockito:
@Bean
@Primary
public InMessageService inMessageService() {
return Mockito.mock(InMessageService.class);
}
Результатом этого является следующее исключение при запуске теста:
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB
subclass of class somePackage.InMessageService$MockitoMock$156222813: Common
causes of this problem include using a final class or a non-visible class;nested exception is
org.springframework.cglib.core.CodeGenerationException: java.lang.NoClassDefFoundError-->
somePath/InMessageService$MockitoMock$156222813
Хочу отметить, что один и тот же код работал с spring-boot 1.2.1 и Mockito 1.10.19.Я пытаюсь запустить приведенный выше код с весенней загрузкой 2.1.1 и Mockito 2.23.0
Мои наблюдения пока:
- Независимо от того, какая версия Mockito между 2.1.0 и 2.23.0 Я пользуюсь, исключение такое же.Я не могу (и не хочу) использовать более старые версии Mockito, так как проект больше не компилируется
- Если временно удалить аннотацию
@Transactional
, исключение не выдается.
Есть идеи, что нужно отрегулировать при обновлении пружинной загрузки, чтобы тесты снова заработали?
Спасибо!