为什么Mockito.mock()无法模拟带有Hystrix注释的类?

时间:2019-08-13 09:31:12

标签: java spring mockito

我有一个具有以下依赖项的Spring Boot 2项目

com.netflix.hystrix:hystrix-core:1.5.18

org.mockito:mockito-core:2.23.4

以及以下服务

@Service
public class CardsProvider {
    @HystrixCommand(groupKey = "CARDS")
    public Observable<List<Card>> getCards(UserData userData, String cus) {
        ...
    }
}

我正在尝试在测试配置中模拟此类

@Bean
@Primary
public CardsProvider cardsProvider() {
    return Mockito.mock(CardsProvider.class);
}

不幸的是,抛出此错误:

org.springframework.aop.framework.AopConfigException:无法生成com.company.api.accounts.services.CardsProvider $ MockitoMock $ 1544042825类的CGLIB子类:此问题的常见原因包括使用最终类或不可见的类类;嵌套的异常是org.springframework.cglib.core.CodeGenerationException:java.lang.NoClassDefFoundError 原因:org.springframework.cglib.core.CodeGenerationException:java.lang.NoClassDefFoundError-- 由以下原因引起:java.lang.NoClassDefFoundError:com / company / api / accounts / services / CardsProvider $ MockitoMock $ 1544042825

没有@HystrixCommand注释,一切都很好。如何解决这个问题?

0 个答案:

没有答案