如何完成Springboot API的端到端测试?

问题描述 投票:0回答:1

我具有以下测试类来测试我的API,并且我具有以下代码结构:

package controller -> UserController.javapackage service -> UserService.javapackage 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调用了存储库。

请帮助!

java spring-boot mocking junit5 mockmvc
1个回答
1
投票

使用@SpringBootTest批注代替以完全加载应用程序中的所有bean。 @WebMvcTest

不会发生
© www.soinside.com 2019 - 2024. All rights reserved.