IDEA单元测试报错 Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'XXX' is expected to be of type 'XXX' but was actually of type 'XXX'

在启动单元测试时候报错

因为我的项目所有的单元测试是继承 BaseTest 的,发现是在 BaseTest 中有的类没有 Mock 掉,并且发现报错是在其中的 SossRabbitConfig 类中(这里因个人项目而有所不同,要注意看报错中的 Bean named 是在你自己项目的哪个类里),进入后将需要 mock 的 Bean 给 mock 掉:

然后再启动单元测试,发现还会报错,这次报空指针:Caused by: java.lang.NullPointerException,其实错误原因还和上面的报错一样,有东西没有被 mock 掉,所以会报空指针。截图中可以看到是这个RabbitListenerEndpointRegistry。

所以将其 mock 掉就可以了:

希望以上回答对大家有所帮助。

原文地址:https://www.cnblogs.com/nanmu0/p/12514674.html