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.pswp.cn/news/167077.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167077.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167077.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023年10月紙巾市場分析(京東天貓淘寶平臺紙巾品類數據采集)

雙十一大促期間,剛需品的紙巾是必囤商品之一。今年雙十一,京東數據顯示,10月23日至29日,清潔紙品成交額同比增長40%,由此也拉動了10月紙巾市場的銷售。 鯨參謀數據顯示,今年10月,京東平臺紙巾市…

【日常總結】如何禁止瀏覽器 http自動跳轉成https

一、場景 二、問題 三、解決方案 3.1 chrome 瀏覽器 3.2 edge 瀏覽器: 3.3 Safari 瀏覽器 3.4 Firefox 瀏覽器 3.5 Microsoft Edge 一、場景 公司網站 http:// 谷歌瀏覽器中自動轉換成 https:// 導致無法訪問 二、問題 nginx配置ssl 443接口, ht…

SOLIDWORKS 2024新功能之Electrical篇

SOLIDWORKS 2024 Electrical篇目錄概覽 ? 對齊零部件 ? 更改多個導軌和線槽的長度 ? 過濾輔助和附件零件 ? 2D 機柜中的自動零件序號 ? 移除制造商零件數據 ? 重置未定義的宏變量 ? 使用范圍縮短列表 ? SOLIDWORKS Electrical Schematic 增強功能 1、對齊零部件…

ONNX實踐系列-修改yolov5-seg的proto分支輸出shape

一、目標 本文主要介紹要將原始yolov5分割的輸出掩膜從[b,c,h,.w]修改為[b, h, w, c] 原來的: 目標的: 代碼如下: Descripttion: version: @Company: WT-XM Author: yang jinyi Date: 2023-09-08 11:26:28 LastEditors: yang jinyi LastEditTime: 2023-09-08 11:48:01 …

Threejs_14 制作圣誕賀卡

繼續跟著老陳打碼學習!!!支持!!! 效果圖 鏈接:https://pan.baidu.com/s/1Ft8U2HTeqmpyAeesL31iUg 提取碼:6666 使用到的 模型文件和資源等都為老陳打碼提供!&#x…

【騰訊云云上實驗室】探索保護數據之盾背后的安全監控機制

當今數字化時代,數據安全成為了企業和個人最為關注的重要議題之一。隨著數據規模的不斷增長和數據應用的廣泛普及,如何保護數據的安全性和隱私性成為了迫切的需求。 今天,我將帶領大家一起探索騰訊云云上實驗室所推出的向量數據庫&#xff0c…

新版PY系列離線燒錄器,支持PY002A/002B/003/030/071等MCU各封裝,不同 FLASH 大小型號

PY系列離線燒錄器,目前支持PY32F002A/002B/002/003/030/071/072/040/403/303 各封裝、不同 FLASH 大小型號。PY離線燒錄器需要搭配上位機軟件使用,上位機軟件可以在芯嶺技術官網上下載,還包括了離線燒錄器的使用說明。PY離線燒錄器使用MINI U…

金融機構如何高效率考勤?這個技巧幫了大忙!

在現代社會,隨著科技的不斷發展,人臉識別技術作為一種高效、便捷的身份驗證手段,逐漸應用于各個領域,其中之一便是人臉考勤系統。 傳統的考勤方式存在一系列問題,如卡片打卡容易被冒用、簽到表容易造假等,而…

CTFUB-web前置技能-HTTP協議

burp抓包,抓第二次的 修改請求方式為CTFHUB

算法筆記:OPTICS 聚類

1 基本介紹 OPTICS(Ordering points to identify the clustering structure)是一基于密度的聚類算法 OPTICS算法是DBSCAN的改進版本 在DBCSAN算法中需要輸入兩個參數: ? 和 MinPts ,選擇不同的參數會導致最終聚類的結果千差萬別,因此DBCSAN…

線上PDF文件展示

場景: 請求到的PDF(url鏈接),將其展示在頁面上 插件: pdfobject (我使用的版本: "pdfobject": "^2.2.12" ) 下載插件就不多說了,下面將其引入&a…

【Clang Static Analyzer 代碼靜態檢測工具詳細使用教程】

Clang Static Analyzer sudo apt-get install clang-tools scan-build cmake .. scan-build make -j4 編譯完成之后會在終端提示在哪里查看報錯文檔: scan-build: 55 bugs found. scan-build: Run scan-view /tmp/scan-build-2023-11-24-150637-6472-1 to examine bug report…

Liunx Ubuntu Server 安裝配置 Docker

1. 安裝Docker 1.1 更新軟件包列表 sudo apt update1.2 添加Docker存儲庫 sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-a…

Django QuerySet.order_by SQL注入漏洞(CVE-2021-35042)

漏洞描述 Django 于 2021年7月1日發布了一個安全更新,修復了函數QuerySet.order_by中的 SQL 注入漏洞。 參考鏈接: Django security releases issued: 3.2.5 and 3.1.13 | Weblog | Django 該漏洞需要開發人員使用order_by功能。此外,還可…

加入華為云鯤鵬極簡開發創造營,激活創造力,探索無限可能!

數字經濟時代,速度、效率、質量安全已成為各行業告訴拓新發展的關鍵,華為云不斷打磨敏捷安全開發的軟件平臺,為更高效率的生產力變革積蓄能量。 在剛剛過去不久的2023華為全聯接大會上,華為最新發布了華為云CodeArts與鯤鵬DevKit…

關于配置文件中秘鑰信息加密實現方案的一些思考

關于配置文件中秘鑰信息加密實現方案的一些思考 背景實現方案 背景 配置信息文件中(代碼中), 不應該有明文的秘鑰信息. 需要找一種方案去做加密處理. 實現方案 我們可以在項目指定目錄上傳一份加密/解密程序, 例如: jasypt-gui.jar. 啟動時: 配置JVM參數, 對加密的信息進行解…

2023 Unite 大會關于“Muse“ AI 大模型訓練

Unity Muse 借助強大的 AI 能力幫助你探索、構思和迭代,其中包括紋理和精靈兩項功能,可將自然語言和視覺輸入轉化為可用資產。 將 AI 引入 Unity Editor 中的 Muse 提供了更快將想法轉化為實物的選項。您可以調整并使用文本提示、圖案、顏色和草圖&…

周總結2023-11-24

文章目錄 前言:工作:學習:生活: 前言: 保持激情,日日向上,激發內驅力。 工作: 1117上周未完成的計劃: 數模轉換模塊的數據處理分析HAL庫的學習IMU知識點匯總 1124本…

【采坑分享】導出文件流responseType:“blob“如何提示報錯信息

目錄 前言: 采坑之路 總結: 前言: 近日,項目中踩了一個坑分享一下經驗,也避免下次遇到方便解決。項目基于vue2axioselement-ui,業務中導出按鈕需要直接下載接口中的文件流。正常是沒有問題,但…

為什么在Pycharm中使用Pandas畫圖,卻不顯示?

問題描述: 在 Pycharm 中使用 Pandas 的 plot() 方法畫圖,卻不顯示圖像,源代碼如下: import pandas as pd import numpy as np# 從文件中讀取數據 starbucks pd.read_csv(./file_csv/directory.csv)# 按照國家分組,…