單元測試-java.lang.NullPointerException

報錯信息

java.lang.NullPointerException
空指針異常
空對象引用

來源

Controller層進行單元測試,解決完Spring上下文報錯后繼續報錯。

解決

在測試方法執行前要為字段完成對象的注入,否則就報空指針異常。
在這里插入圖片描述

測試例子

public class SysUserControllerTest {@InjectMocks// 在單元測試中沒有啟動Spring框架時,通過@InjectMocks完成依賴注入private SysUserController sysUserController;@Mock// 創建模擬對象private SysUserService sysUserService;@BeforeEach// JUnit5 棄用Before,每個測試方法執行之前初始化測試環境public void setUp() {MockitoAnnotations.openMocks(this);// 初始化被@Mock、@Spy、@Captor 和 @InjectMocks 注解的字段}@Testpublic void testSelectOne() throws Exception {// 準備測試數據Serializable id = 1;SysUser sysUser = new SysUser();sysUser.setId(1L);sysUser.setUserName("admain");// 設置mock對象行為// 設置sysUserService的 getById 方法的返回值為 sysUserwhen(sysUserService.getById(id)).thenReturn(sysUser);// 調用被測試的方法// 調用 sysUserController 的 selectOne 方法,并傳入 id 參數ResponseResult<SysUser> responseResult = sysUserController.selectOne(id);// 如果 responseResult 的 Code 字段等于 200
//        if (responseResult.getCode() == 200) {
//            // 打印 responseResult 的 JSON 字符串形式
//            System.out.println(JSON.toJSONString(responseResult));
//        }// 斷言驗證結果assert (responseResult.getData().getUserName().equals(sysUser.getUserName()));}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162849.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162849.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162849.shtml

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

相關文章

前端css粘性布局,頂部吸附效果(position: sticky)

sticky屬性設置 /* 設置粘性布局 */ position: sticky; /* 拖動滾動條&#xff0c;當前元素超出文檔0的位置時&#xff0c;觸發定位效果&#xff08;同級元素位置不會受影響&#xff09; */ top: 0;頁面初始效果 設置前&#xff08;滾動頁面時&#xff0c;標簽欄隨頁面滾動&a…

【深度學習】六大聚類算法快速了解

在機器學習中&#xff0c;無監督學習一直是我們追求的方向&#xff0c;而其中的聚類算法更是發現隱藏數據結構與知識的有效手段。目前如谷歌新聞等很多應用都將聚類算法作為主要的實現手段&#xff0c;它們能利用大量的未標注數據構建強大的主題聚類。本文從最基礎的 K 均值聚類…

【二叉樹進階題目】236. 二叉樹的最近公共祖先,JZ36 二叉搜索樹與雙向鏈表

二叉樹進階題目 236. 二叉樹的最近公共祖先解題思路及實現思路一思路二 JZ36 二叉搜索樹與雙向鏈表描述解題思路及實現 236. 二叉樹的最近公共祖先 給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。 百度百科中最近公共祖先的定義為&#xff1a;“對于有根樹 T 的兩個…

Axios 攔截器 請求攔截器 響應攔截器

請求攔截器 相當于一個關卡&#xff0c;如果滿足條件就放行請求&#xff0c;不滿足就攔截 響應攔截器 在處理結果之前&#xff0c;先對結果進行預處理&#xff0c;比如&#xff1a;對數據進行一下格式化的處理 全局請求攔截器 axios.interceptors.request.use(config > { /…

SeaTunnel及SeaTunnel Web部署指南(小白版)

現在你能搜索到的SeaTunnel的安裝。部署基本都有坑&#xff0c;官網的文檔也是見到到相當于沒有&#xff0c;基本很難找到一個適合新手小白第一次上手就能成功安裝部署的版本&#xff0c;于是就有了這個部署指南的分享&#xff0c;小主已經把可能遇到的坑都填過了&#xff0c;希…

Web前端—移動Web第五天(媒體查詢、Bootstrap、綜合案例-alloyTeam)

版本說明 當前版本號[20231122]。 版本修改說明20231122初版 目錄 文章目錄 版本說明目錄移動 Web 第五天01-媒體查詢基本寫法書寫順序案例-左側隱藏媒體查詢-完整寫法關鍵詞 / 邏輯操作符媒體類型媒體特性 媒體查詢-外部CSS 02-Bootstrap簡介使用步驟下載使用 柵格系統全局…

PTA 六度空間

“六度空間”理論又稱作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理論。這個理論可以通俗地闡述為&#xff1a;“你和任何一個陌生人之間所間隔的人不會超過六個&#xff0c;也就是說&#xff0c;最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示…

大白話DDD(DDD黑話終結者)

大白話DDD&#xff08;DDD黑話終結者&#xff09; 一、吐槽的話 相信聽過DDD的人有很大一部分都不知道這玩意具體是干嘛的&#xff0c;甚至覺得它有那么一些虛無縹緲。原因之一是但凡講DDD的&#xff0c;都是一堆特別高大上的概念&#xff0c;然后冠之以一堆讓人看不懂的解釋…

Python教程73:Pandas中一維數組Series學習

創建一維數據類型Series dataNone 要轉化為Series的數據(也可用dict直接設置行索引) 若是標量則必須設置索引,該值會重復,來匹配索引的長度 indexNone 設置行索引 dtypeNone 設置數據類型(使用numpy數據類型) nameNone 設置Series的name屬性 copyFalse 不復制 (當data為ndarray…

Centos中的解壓和壓縮指令

在CentOS 7系統中&#xff0c;可以使用多種命令進行文件壓縮和解壓縮操作。以下是常見的文件壓縮和解壓命令及其用法的詳解&#xff1a; 1.tar&#xff1a;tar命令用于打包文件或目錄&#xff0c;并可選地壓縮為tar壓縮包。 創建tar壓縮包&#xff1a;tar -cvf archive.tar f…

【深度學習】神經網絡術語:Epoch、Batch Size和迭代

batchsize&#xff1a;中文翻譯為批大小&#xff08;批尺寸&#xff09;。 簡單點說&#xff0c;批量大小將決定我們一次訓練的樣本數目。 batch_size將影響到模型的優化程度和速度。 為什么需要有 Batch_Size : batchsize 的正確選擇是為了在內存效率和內存容量之間尋找最…

Postgresql源碼(116)提升子查詢案例分析

0 總結 對于SQL&#xff1a;select * from student, (select * from score where sno > 2) s where student.sno s.sno; pullup在pull_up_subqueries函數內遞歸完成&#xff0c;分幾步&#xff1a; 將內層rte score追加到上層rtbable中&#xff1a;rte1是student、rte2帶…

nginx編譯安裝

1.下載nginx&#xff1a; 地址&#xff1a;http://nginx.org/en/download.html 2.安裝依賴 安裝gcc: yum install -y gcc安裝pcre庫 yum install -y pcre pcre-devel安裝zlib庫&#xff1a; yum install -y zlib zlib-devel3.安裝nginx ./configure --prefix/usr/local/ngi…

Spark SQL將Hive表中的數據寫入到MySQL數據庫中

import org.apache.spark.sql.SparkSessionobject HiveToMySQL {def main(args: Array[String]): Unit {// 創建SparkSessionval spark SparkSession.builder().appName("HiveToMySQL").enableHiveSupport().getOrCreate()// 讀取Hive表數據val hiveDF spark.tabl…

一體化大氣環境監測設備實時守護我們的空氣質量

WX-CSQX12 隨著空氣污染問題的日益嚴重&#xff0c;大氣環境監測設備成為了我們生活中不可或缺的一部分。而一體化的大氣環境監測設備&#xff0c;更是為我們的環境保護工作帶來了更多的便利和效益。 一體化大氣環境監測設備是一種集成了多種功能于一體的環保設備&#xff0c;…

BootStrap【表格二、基礎表單、被支持的控件、表單狀態】(二)-全面詳解(學習總結---從入門到深化)

目錄 表格二 表單_基礎表單 表單_被支持的控件 表單_表單狀態 表格二 緊縮表格 通過添加 .table-condensed 類可以讓表格更加緊湊&#xff0c;單元格中的內補&#xff08;padding&#xff09;均會減半 <table class"table table-condensed table-bordered"…

學習量化交易如何入門?

Python 量化入門很簡單&#xff0c;只需 3 步就能快速上手! 題主在程序方向沒有相關經驗&#xff0c;今天就從量化行業的通用語言-Python 著手&#xff0c;教大家如何快速入門。 一、準備工作 在開始 Python 編程之前&#xff0c;首先需要確保你的計算機上安裝了合適的 Pytho…

【深度學習】Transformer簡介

近年來&#xff0c;Transformer模型在自然語言處理&#xff08;NLP&#xff09;領域中橫掃千軍&#xff0c;以BERT、GPT為代表的模型屢屢屠榜&#xff0c;目前已經成為了該領域的標準模型。同時&#xff0c;在計算機視覺等領域中&#xff0c;Transformer模型也逐漸得到了重視&a…

【PythonGIS】基于Python面矢量轉換線矢量

今天有些不一樣&#xff0c;發這篇文章并不是項目需要。單純的想到有這個功能沒使用Python實現&#xff0c;所以就去研究了一下&#xff0c;第一時間就和大家分享。如何使用Python的osgeo庫實現面矢量數據與線矢量數據的互相轉換。 一、導入所需庫 import os from osgeo impor…

論文速讀《DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection》

概括主要內容 文章《DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection》提出了兩種創新技術&#xff0c;以改善多模態3D檢測模型的性能&#xff0c;通過更有效地融合相機和激光雷達傳感器數據來提高對象檢測的準確性&#xff0c;尤其是在行人檢測方面…