我具有以下测试类来测试我的API,并且我具有以下代码结构:
package controller -> UserController.java
package service -> UserService.java
package repository -> UserRepository.java
package endtoend -> EndToEndTest.java
@WebMvcTest(UserController.class)
class EndToEndTest {
@Autowired
private MockMvc mockMvc;
@Test
void shouldReturn200() throws Exception{
mockMvc.perform(get("/users/{username}", "testUser"))
.andExpect(status().isOk());
}
UserController.java有一个Get映射-> @GetMapping("/users/{username}")
但是测试返回的错误是应用程序无法启动,并且缺少类型为UserService的bean。
我感觉我缺少一些模拟,因为我的控制器调用了service和service调用了存储库。
请帮助!
使用@SpringBootTest
批注代替以完全加载应用程序中的所有bean。 @WebMvcTest