首页 > 解决方案 > 为什么@MockBean 和@InjectMocks 会导致BeanCreationException?

问题描述

当我编写spring boot test并定义服务如下:

@MockBean
@InjectMocks
private Service service;

我得到了BeanCreationException: Could not injection field ... cannot have an existing value 为什么?

为什么我不能嘲笑我的服务,也不能嘲笑它的所有自动装配字段?

标签: springmockito

解决方案


您正在将普通的 mockito ( @Mock, @InjectMocks) 与 mockito ( ) 的 spring 包装器结合起来@MockBean。请看一下这个解释:@Mock、@MockBean 和 Mockito.mock() 之间的区别


推荐阅读