java springboot测试类虚拟MVC环境 匹配返回值与预期内容是否相同 (JSON数据格式) 版

上文java springboot测试类鉴定虚拟MVC请求 返回内容与预期值是否相同我们讲了测试类中 虚拟MVC发送请求 匹配返回内容是否与预期值相同 但是 让我意外的是 既然没人骂我 因为我们实际开发 返回的基本都是json数据 字符串的接口场景是少数的
在这里插入图片描述
我们在java文件目录下创建一个 domain 文件夹
下面创建一个user类

参考代码如下

package com.example.webdom.domain;public class user {private int id;private String name;public void setId(int id) {this.id = id;}public void setName(String name) {this.name = name;}public int getId() {return id;}public String getName() {return name;}
}

这边 我就设置一下最基本的 id和name 然后声明一下对应的 get set函数

这边 我们 controller 代码更改如下

package com.example.webdom.controller;import com.example.webdom.domain.user;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/TextWeb")
public class TestWeb {@GetMappingpublic user getById(){user user = new user();user.setId(1);user.setName("数据管理");System.out.println("getById is running .....");return user;}
}

这里 我们直接 new 一个 user类对象 然后 set一下他的id和name
然后接口返回这个对象出去

将测试类 代码改写如下

package com.example.webdom;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.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.ResultMatcher;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.ContentResultMatchers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class WebDomApplicationTests {@Testvoid contextLoads(@Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/TextWeb");ResultActions action = mvc.perform(builder);ContentResultMatchers content = MockMvcResultMatchers.content();ResultMatcher result = content.json("{\"id\":1,\"name\":\"数据管理\"}");action.andExpect(result);}}

这里 我们因为还是判断内容 所以依旧用content
然后 里面写一个json格式的字符串即可

然后 我们右键测试函数运行
在这里插入图片描述
返回的json和这个json串是一样的 自然不会 有什么问题
在这里插入图片描述
我们重点还是要看错误的 这里 我爸 name 后面加一个1 让他匹配不上
在这里插入图片描述
然后 我们再次右键运行 出错 是我们想要的
在这里插入图片描述
这个位置的内容依旧这么给力 依旧告诉你了 到底是那个字段出问题了 name
然后告诉了你区别 可以说 非常只能了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214423.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于51单片机倾角MPU6050老人跌倒远程GSM短信报警器+源程序

一、系统方案 1、本设计采用这51单片机作为主控器。 2、MPU6050角度值送到液晶1602显示。 3、红外传感器检测心率。 4、跌倒远程GSM报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void LCD_Init() //初始化液晶时间显示 { write_com…

【译】Spring 6 入参数据校验: 综合指南

原文地址:Spring 6 Programmatic Validator: A Comprehensive Guide 一、前言 在 Spring 6.1 中,有一个非常值得注意的重要改进——编程式验证器实现。Spring 长期以来一直通过注解支持声明式验证,而 Spring 6.1 则通过提供专用的编程式验证…

【C/C++】素数专题

素数专题 1.判断素数模板2.求范围内的素数&#xff08;101-200&#xff09;3.判断素数与分解 1.判断素数模板 #include<stdio.h> #include<math.h>int prism(int n){if(n1) return 0;for(int i2;i<sqrt(n);i){if(n%i0) return 0;}return 1; }int main() {int n…

【Vue】浏览器安装vue插件

首先看一下安装之后的效果&#xff0c;再考虑一下要不要安装 安装完之后&#xff0c;打开浏览器控制台&#xff08;ctrl shift j) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</t…

CV计算机视觉每日开源代码Paper with code速览-2023.11.20

点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【人脸识别】FRCSyn Challenge at WACV 2024:Face Recognition Challenge in the Era of Synthetic Data 论文地址&#xff1a;https://arxi…

金风玉露一相逢|实在智能联手浪潮信息合力致新生成式AI产业生态

近日&#xff0c;实在智能正式加入浪潮信息元脑生态AIStore。 实在智能是一家基于AGI大模型超自动化技术&#xff0c;领跑人机协同时代的人工智能科技公司&#xff0c;以其自研垂直的“TARS&#xff08;塔斯&#xff09;大语言模型”技术、实在RPA Agent智能体数字员工产品和超…

Qt 软件调试(一) Log日志调试

终于这段时间闲下来了&#xff0c;可以系统的编写Qt软件调试的整个系列。前面零零星星的也有部分输出&#xff0c;但终究没有形成体系。借此机会&#xff0c;做一下系统的总结。慎独、精进~ 日志是有效帮助我们快速定位&#xff0c;找到程序异常点的实用方法。但是好的日志才能…

锂电池搅拌机常见故障及预测性维护解决方案

锂电池搅拌机作为锂电池生产过程中的关键设备&#xff0c;负责混合和搅拌材料&#xff0c;对生产效率和产品质量具有重要影响。但由于长时间运行和复杂工作环境&#xff0c;锂电池搅拌机常常面临各种故障和维护需求。传统的故障修复维护方式往往是被动的&#xff0c;不能及时预…

【转载】如何在Macbook上把Ubuntu安装到移动硬盘里

我的设备系统版本、遇到的问题和解决&#xff1a; Mac&#xff1a;macOS Ventura 13.3 Ubuntu&#xff1a;22.04.3 问题&#xff1a; 按照这个教程在【3.3.10】修改完启动项后&#xff0c;Mac系统无法启动&#xff0c;Ubuntu可以正常启动。 原因&#xff1a; Mac找不到启动引导…

一键创新 | 拓世法宝AI智能直播一体机激发房产自媒体创造力

在数字化时代&#xff0c;房产销售已然不再是传统的模式。随着社交媒体和自媒体的兴起&#xff0c;短视频直播成为房产自媒体营销的新风口。然而&#xff0c;行业也面临着诸多挑战&#xff0c;如何更好地利用新媒体拓展市场&#xff0c;提升自媒体效果成为摆在业内人士面前的难…

指针笔试题分享

今天给大家分享几道关于指针的好题&#xff0c;我觉得的只要是题&#xff0c;都是好题咯&#xff01;下面来看看我们今天的题吧&#xff01; 题目一&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>int main() {int a[5] { 1, 2, 3, 4, 5 };int* p…

记edusrc一处信息泄露

目录 一、信息收集 二、信息泄露 一、信息收集 在搜索某一学校的资产时&#xff0c;找到了一处学工系统。 登录进去&#xff0c;发现有两种登陆方式&#xff0c;一种是统一身份认证&#xff0c;一种是DB认证。 统一身份认证是需要通过学生的学号和密码进行登录的&#x…