Spring boot 为什么@MockBean ConversionService会导致错误

Spring boot 为什么@MockBean ConversionService会导致错误,spring-boot,junit,mocking,Spring Boot,Junit,Mocking,给定:JUnit5和使用Intellij IDEA Ultimate创建的空SpringBoot项目。对于包含@Autowired ConversionService的控制器的项目,我得到了相同的结果 我需要在测试中使用模拟版本的ConversionService 这是我的方法: import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.springframework.boot.test.context.Spri

给定:JUnit5和使用Intellij IDEA Ultimate创建的空SpringBoot项目。对于包含@Autowired ConversionService的控制器的项目,我得到了相同的结果

我需要在测试中使用模拟版本的ConversionService

这是我的方法:

import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.convert.ConversionService;

@SpringBootTest
public class ConversionServiceTest {

    @MockBean
    ConversionService conversionService;

    @Test
    void test() {}
}
上述代码导致错误:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.format.support.FormattingConversionService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value="mvcConversionService")}

这个错误的原因是什么?解决方案是什么?

解决方案是用@SpyBean替换@MockBean