import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import com.acoffee.pojo.LoginRequest;
import com.alibaba.fastjson.JSON;
@SpringBootTest
@AutoConfigureMockMvc//该注解将会自动配置mockMvc的单元测试
class DemoApplicationTests {
@Autowired
private MockMvc mockMvc;
传对象的情况
/**
* 1、mockMvc.perform执行一个请求。
* 2、MockMvcRequestBuilders.get("XXX")构造一个请求。
* 3、ResultActions.param添加请求传值
* 4、ResultActions.accept(MediaType.TEXT_HTML_VALUE))设置返回类型
* 5、ResultActions.andExpect添加执行完成后的断言。
* 6、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情
* 比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。
* 7、ResultActions.andReturn表示执行完成后返回相应的结果。
*/
@Test
void login() throws Exception {
LoginRequest loginRequest = new LoginRequest

本文介绍了如何使用Spring Boot的MockMvc进行单元测试,包括模拟POST请求传递对象、验证响应状态码及JSON内容,并展示了添加Authorization token的测试用例。通过MockMvcRequestBuilders构造请求,MockMvcResultMatchers进行断言,确保了API的正确性和安全性。
最低0.47元/天 解锁文章
1182

被折叠的 条评论
为什么被折叠?



