Maven生命周期,測試

?測試

  1. Junit入門

  1. 單元測試
  • 單元測試:就是針對最小的功能單元(方法),編寫測試代碼對其正確性進行測試。

  • JUnit:最流行的Java測試框架之一,提供了一些功能,方便程序進行單元測試(第三方公司提供)。

通過main方法是可以進行測試的,可以測試程序是否正常運行。但是main方法進行測試時,會存在如下問題:

  1. 入門程序

需求:使用JUnit,對UserService中的業務方法進行單元測試,測試其正確性。

斷言?

package com.itheima;import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;public class UserServiceTest {@Testpublic void testGetAge2(){Integer age = new UserService().getAge("110002200505091218");Assertions.assertNotEquals(18, age, "兩個值相等");
//        String s1 = new String("Hello");
//        String s2 = "Hello";
//        Assertions.assertSame(s1, s2, "不是同一個對象引用");}@Testpublic void testGetGender2(){String gender = new UserService().getGender("612429198904201611");Assertions.assertEquals("男", gender);}
}

Junit常見注解

注意beforeAll和afterAll是靜態方法

參數化注解
package com.itheima;import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;@DisplayName("測試-學生業務操作")
public class UserServiceTest {@DisplayName("測試-獲取年齡")@Testpublic void testGetAge(){Integer age = new UserService().getAge("110002200505091218");System.out.println(age);}@DisplayName("測試-獲取性別")@Testpublic void testGetGender(){String gender = new UserService().getGender("612429198904201611");System.out.println(gender);}@DisplayName("測試-獲取性別3")@ParameterizedTest@ValueSource(strings = {"612429198904201611","612429198904201631","612429198904201626"})public void testGetGender3(String idcard){String gender = new UserService().getGender(idcard);System.out.println(gender);}
}

輸出?

?編寫測試方法時,要盡可能的覆蓋業務方法中所有可能得情況(尤其是邊界值)

依賴范圍

這樣junit包只能在test中使用?

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

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

相關文章

H5調試工具vconsole和Eruda對比

VConsole與Eruda對比分析 VConsole和Eruda是兩款主流的移動端JavaScript調試工具,它們在功能定位、使用場景和技術實現上有諸多差異。以下從多個維度進行對比,幫助你選擇更適合的工具: 一、核心功能對比 功能維度VConsoleEruda基礎日志輸出…

Java經典編程題

題目 1:斐波那契數列 題目要求:編寫一個方法,輸入正整數n,輸出斐波那契數列的第n項。斐波那契數列的定義是:F(0)0,F(1)1, 當n > 1時,F(n)F(n - 1)F(n - 2)。 答案: public cla…

BUG調試案例五十:“低級”設計BUG案例篇(持續更新中.........)

引言 回頭看這些年硬件路,總有一些“低級Bug”一次次地在給我上課。它們不是復雜的架構設計,不是玄妙的信號完整性問題,而是最基礎、最應該避免、卻又最容易忽略的小細節。 每一次Bug的背后,都是教訓,有的甚至讓整個項目差點“翻車”。寫下這篇文章記錄那些“看似簡單實…

DeepSeek中的提示庫及其用法示例

《DEEPSEEK原生應用與智能體開發實踐 圖書》【摘要 書評 試讀】- 京東圖書 為了深入探索DeepSeek提示詞樣例的豐富內涵,充分挖掘其背后潛藏的無限可能,同時致力于為用戶打造更為卓越、便捷且高效的使用體驗,DeepSeek官網的API文檔匠心獨運地…

Node.js特訓專欄-實戰進階:7.Express模板引擎選型與使用

🔥 歡迎來到 Node.js 實戰專欄!在這里,每一行代碼都是解鎖高性能應用的鑰匙,讓我們一起開啟 Node.js 的奇妙開發之旅! Node.js 特訓專欄主頁 專欄內容規劃詳情 Express模板引擎選型與使用全解析:打造動態We…

uniapp評價組件

組件目錄 components/Evaluation.vue <template><view class"evaluation-container"><!-- 綜合評價 --><view class"evaluation-item" tap"parentTap"><text class"label label-1">綜合評價</text&…

SQL Server2022版詳細安裝教程(Windows)

一&#xff0c;下載SQL Server 可以瀏覽器自己搜索一下 2、安裝 安裝前需要先將防火墻和帶殺毒軟件的先退出關閉掉&#xff08;防止安裝不成功&#xff09; 2.1、選擇自定義安裝 2.2、更改位置進行安裝 2.3、等待安裝 3、進行安裝配置 當安裝好后會彈出一個這樣的頁面 3.1、…

【圖像】ubuntu中圖像處理

一、環境設置 1、查看視頻源 ls /dev/video* 2、查看攝像頭的分辨率等參數 v4l2-ctl --device/dev/video0 --list-formats-ext 若未安裝v4l-utils sudo apt install v4l-utils 3、測試攝像頭能否正常工作 cheese

架構總結記錄

1、架構模型解決的共同問題 1.1、高內聚低耦合&#xff1a;解耦外部依賴&#xff0c;分離業務復雜度和技術復雜度等。 1.2、信息孤島和數據壁壘&#xff1a;單體架構垂直&#xff0c;沒有相互調用和復用。邏輯抽象、能力下沉、多系統復用問題 1.3、熵增 2、?單體架構與分布…

Python: file: encode: ‘gbk‘ codec can‘t encode character ‘\xe5‘ in position

錯誤 response requests.get(url, timeout5) # 請求一個網頁 with open(‘response.txt’, ‘w’) as file: # 打開一個文件 file.write(response.text) # 向文件寫入response 提示錯&#xff1a; UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xe5’ in po…

PyTorch深度學習框架60天進階學習計劃 - 第59天模型魯棒性(一):對抗樣本生成機理與PGD攻擊詳解

PyTorch深度學習框架60天進階學習計劃 - 第59天模型魯棒性&#xff08;一&#xff09;&#xff1a;對抗樣本生成機理與PGD攻擊詳解 &#x1f3af; 第一部分&#xff1a;對抗樣本的魔法世界 哈嘍各位"反黑客"學員&#xff01;歡迎來到第59天的課程&#xff01;今天我…

kibana和elasticsearch安裝

1、elasticsearch 6.8.23 安裝包下載地址&#xff1a; Elasticsearch 6.8.23 | Elastic 通過網盤分享的文件&#xff1a;elasticsearch-6.8.23.zip 鏈接: https://pan.baidu.com/s/1D2SrJ8nVBlqC1QNswmMJXg?pwd1234 提取碼: 1234 2、kibana 6.8.23 安裝包下載地址&#xff…

vue3 el-table row-class-name 行字體顏色失效

在使用 Vue 3 中的 el-table 組件時&#xff0c;如果你遇到了 row-class-name 屬性設置的行顏色失效&#xff0c;并被 el-table 的默認樣式覆蓋的問題&#xff0c;通常是因為 CSS 優先級或者樣式沖突導致的。這里有幾個方法可以幫助你解決這個問題&#xff1a; 1. 增加 CSS 優…

【跨界新視野】信號處理遇上VR/AR:下一代沉浸體驗的核心技術與您的發表藍海

導語&#xff1a; 元宇宙概念雖經歷起伏&#xff0c;但其底層支撐技術——信號處理&#xff08;Signal Processing&#xff09;與虛擬/增強現實&#xff08;VR/AR&#xff09; 的融合創新正蓬勃發展。從高保真音效定位、腦機接口信號解析&#xff0c;到實時三維重建與交互渲染&…

VMware 2025安裝教程(附安裝包)VMware 2025下載詳細安裝圖文教程

文章目錄 引言第A部分&#xff1a;vmware虛擬機安裝包的獲取與準備第1步&#xff1a;下載VMware虛擬機安裝程序 第B部分&#xff1a;VMware虛擬機安裝步驟第3步&#xff1a;啟動安裝向導第4步&#xff1a;同意軟件許可協議第5步&#xff1a;設定程序安裝路徑第6步&#xff1a;配…

wsl2 用橋接方式連網

安裝 Hyper-V windows 家庭版怎么安裝 Hyper-V-CSDN博客 用管理員打開 PowerShell 執行 Get-NetAdapter 出系統所有的網卡&#xff0c;記住想要橋接的網卡名稱 無線網名稱一般為 WLAN&#xff0c;有線網名稱一般為 以太網&#xff0c;我的是 以太網 2 執行 Get-VMSwitch 查…

<tauri><threejs><rust><GUI>基于tauri和threejs,實現一個3D圖形瀏覽程序

前言 本專欄是基于rust和tauri&#xff0c;由于tauri是前、后端結合的GUI框架&#xff0c;既可以直接生成包含前端代碼的文件&#xff0c;也可以在已有的前端項目上集成tauri框架&#xff0c;將前端頁面化為桌面GUI。 發文平臺 CSDN 環境配置 系統&#xff1a;windows 10 …

C++基礎之指針

文章目錄 指針介紹 C指針的定義與用法指針的定義指針的基本操作指針的常見用法1. 動態內存分配2. 指針與數組3. 指針作為函數參數&#xff08;傳址調用&#xff09;4. 函數返回指針 特殊指針類型智能指針&#xff08;C11起&#xff09;2.入門代碼3.總結 指針介紹 C指針的定義與…

基于存儲過程的MySQL自動化DDL同步系統設計

在現代SaaS與微服務架構中&#xff0c;數據庫結構的自動化管理成為保障系統迭代效率與數據一致性的關鍵一環。本文將圍繞如何通過 MySQL 存儲過程構建一個自動建表、字段同步、索引維護、錯誤日志記錄于一體的 DDL 自動同步系統&#xff0c;提供一套完整的工程化實現方案。 一…

【cmake學習】添加庫文件

文章目錄 目的一、原理二、步驟1.修改CMakeList2.main函數如下3.編譯運行 目的 上一篇 學習了使用cmake 構建多源文件工程在項目開發工程中&#xff0c;一般都會生成庫文件或者調用其它的一些庫文件&#xff0c;所以我們要學習一下簡單生成和使用庫文件這里主要介紹 add_libra…