springboot 多模块 controller单元测试
时间: 2023-07-25 09:41:47 浏览: 113
要对 Spring Boot 多模块项目中的 Controller 进行单元测试,可以采取以下步骤:
1. 在 `pom.xml` 中添加 JUnit 和 Spring Boot Test 相关依赖。
2. 编写 Controller 单元测试类,使用 `@RunWith(SpringRunner.class)`、`@WebMvcTest` 注解声明该类是一个 Spring MVC 测试类。
3. 在测试类中使用 `@Autowired` 注解注入 `MockMvc` 对象,用于发送 HTTP 请求,模拟用户请求 Controller。
4. 编写测试方法,使用 `MockMvc` 发送 HTTP 请求,验证 Controller 的响应结果是否正确。
5. 如果项目中使用了多个模块,可以通过在 `@WebMvcTest` 注解中指定需要测试的 Controller 所在的模块,来提高测试效率。
下面是一个示例代码:
```
@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testGet() throws Exception {
this.mockMvc.perform(get("/my/path"))
.andExpect(status().isOk())
.andExpect(content().string("Hello World!"));
}
}
```
以上代码可以测试名为 `MyController` 的 Controller,该 Controller 处理 `/my/path` 的 GET 请求,返回字符串 "Hello World!"。
阅读全文