测试驱动开发TDD

如何在后端测试代码,测试一个其前端的请求,能否正常处理
以登录请求为例

package com.example.demo.login;

import com.example.demo.login.pojo.User;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
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.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;

@SpringBootTest
@AutoConfigureMockMvc
public class LoginTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private ObjectMapper objectMapper;

    final private String urlTemplate = "/login";

    /**
     * 测试POST请求是否正常处理。
     * 发送一个JSON格式的POST请求到"/login"路径,并验证返回内容。
     */
    @Test
    public void testLogin() throws Exception {
        // 创建User对象
        User user = new User("test@qq.com", "123456");

        // 使用Jackson库的ObjectMapper将对象转换为JSON字符串
        String jsonRequest = objectMapper.writeValueAsString(user);

        // 发送一个 POST 请求到 "/login" 路径
        mockMvc.perform(MockMvcRequestBuilders.post(urlTemplate)
                        // 设置请求的 Content-Type 为 JSON 格式
                        .contentType(MediaType.APPLICATION_JSON)
                        // 设置请求体为 JSON 格式的字符串,模拟客户端发送的 JSON 数据
                        .content(jsonRequest))
                // 断言返回的内容包含用户信息
                .andExpect(MockMvcResultMatchers.jsonPath("$.email").value("test@qq.com"))
                .andExpect(MockMvcResultMatchers.jsonPath("$.username").value("urfread"));
    }
}

相关推荐

  1. 测试驱动开发TDD

    2024-06-19 02:48:02       7 阅读
  2. 测试驱动开发TDD)的探析

    2024-06-19 02:48:02       11 阅读
  3. 如何进行软件测试测试驱动开发TDD)?

    2024-06-19 02:48:02       34 阅读
  4. 前端验收测试驱动开发

    2024-06-19 02:48:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-19 02:48:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-19 02:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-19 02:48:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-19 02:48:02       20 阅读

热门阅读

  1. 力扣(2024.06.18)

    2024-06-19 02:48:02       6 阅读
  2. Linux下tar命令解压缩

    2024-06-19 02:48:02       8 阅读
  3. 打印mybatis的sql日志

    2024-06-19 02:48:02       8 阅读
  4. 计算机网络模型

    2024-06-19 02:48:02       4 阅读
  5. Result类忘记添加@Data注解导致406错误

    2024-06-19 02:48:02       4 阅读
  6. 深拷贝和浅拷贝

    2024-06-19 02:48:02       8 阅读
  7. 扩展学习|风险沟通研究进展综述

    2024-06-19 02:48:02       4 阅读
  8. 利用Python调用闲鱼商品详情API接口

    2024-06-19 02:48:02       5 阅读
  9. 通义灵码使用笔记

    2024-06-19 02:48:02       7 阅读