【发布时间】:2021-12-18 10:19:49
【问题描述】:
任何人都知道如何将普通的 spring bean 注入到我的 MVC 控制器中?
@WebMvcTest(TaskController.class) class TasksManagerApplicationTests {
@Spy // WRONG
private TasksRepository taskDao;
@MockBean
private AssignmentService service;
@MockBean
private ToDoClient client;
@Autowired
private MockMvc template;
...
NoSuchBeanDefinitionException:没有“com.acme.tskmngt.dao.TasksRepository”类型的合格 bean
我不想在这里模拟每个依赖项,它似乎需要做很多工作,只有外部耦合的。 注意:TasksRepository 是 Spring Data JPA JpaRepository ;已经尝试添加@DataJpaTest 并失败(配置错误:发现@BootstrapWith 的多个声明)。
感谢您的帮助
【问题讨论】:
-
为此,您需要使用
@SpringBootTest进行完整的集成测试,而不是使用@WebMvcTest进行切片测试。
标签: spring mockito springmockito