springboot 單測加入參數_spring-boot-單元測試參數數

簡單案例

@RunWith(Parameterized.class)

public class ParameterTest {

// 2.聲明變量存放預期值和測試數據

private String firstName;

private String lastName;

//3.聲明一個返回值 為Collection的公共靜態方法,并使用@Parameters進行修飾

@Parameterized.Parameters

public static List param() {

// 這里我給出兩個測試用例

return Arrays.asList(new Object[][]{{"Mike", "Black"}, {"Cilcln", "Smith"}});

}

//4.為測試類聲明一個帶有參數的公共構造函數,并在其中為之聲明變量賦值

public ParameterTest(String firstName, String lastName) {

this.firstName = firstName;

this.lastName = lastName;

}

// 5. 進行測試,發現它會將所有的測試用例測試一遍

@Test

public void test() {

String name = firstName + " " + lastName;

System.out.println(name);

assertThat("Mike Black", is(name));

}

}

參數化在 測試controller 中的應用

@RunWith(Parameterized.class)

@SpringBootTest

public class LearnController14Test {

@Autowired

private WebApplicationContext wac;

private MockMvc mvc;

private MockHttpSession session;

public Long id;

public String title;

public LearnController14Test(Long id, String title) {

super();

this.id = id;

this.title = title;

}

/**

* 這些參數,都會測試一遍

*

* @return

*/

@Parameterized.Parameters

public static List data() {

return Arrays.asList(new Object[][]{{999L, "Black"}, {997L, "Smith"}});

}

@Before

public void setupMockMvc() throws Exception {

//借助TestContextManager來實現上下文注入

TestContextManager testContextManager = new TestContextManager(getClass());

testContextManager.prepareTestInstance(this);

//初始化MockMvc對象

mvc = MockMvcBuilders.webAppContextSetup(wac).build();

//構建session

session = new MockHttpSession();

User user = new User("root", "root");

//攔截器那邊會判斷用戶是否登錄,所以這里注入一個用戶

session.setAttribute("user", user);

}

/**

* 獲取教程測試用例

*

* get 請求

*

* @throws Exception

*/

@Test

public void qryLearn() throws Exception {

mvc.perform(MockMvcRequestBuilders.get("/learn/resource/" + id + "?title=" + title)

.contentType(MediaType.APPLICATION_JSON_UTF8)

.accept(MediaType.APPLICATION_JSON_UTF8)

.session(session)

)

.andExpect(MockMvcResultMatchers.status().isOk())

.andDo(MockMvcResultHandlers.print());

}

}

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

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

相關文章

H.264/AVC 標準中CAVLC 和CABAC 熵編碼算法研究

http://www.paper.edu.cn/index.php/default/releasepaper/downPaper/200903-146

python ==》 元組

為何要有元組 ,() 可存放多個值 元組不可變 更多的是用來查詢t (1,[1,3],sss,(1,2)) #t tuple(1,[1,3],sss,(1,2))print (type(t))元組可以作為字典的keyd{(1,2,3):zcx}print(d,type(d),d[(1,2,3)])索引取值d (1,2,3,4,5)print(d[1])切片goods (iphone,lenove,…

免費SSL證書(支持1.0、1.1、1.2)

由于公司要開發微信小程序,而微信小程序的接口需要https協議的,并且要支持TLS1.0、TLS1.1、TLS1.2。如果僅僅是為了開發小程序,安全等級又不用太高,可以選擇免費的SSL證書 在這里選擇騰訊云的證書,申請在 https://cons…

viewsource和viewparsed_Network Panel說明

一、chrome Developer Tools:Network Panel從網絡面板中可以獲取很多有用信息,如詳細的時間數據,http請求頭響應頭,cookies,WebSocket數據。通過分析這些數據,可以知道哪個資源加載耗時最久,誰發…

使用棧來完成一個表達式的結果

原文地址:傳送門 使用棧來完成一個表達式的結果 使用棧完成計算 一個表達式的結果 7*2*2-51-53-4 ? 32*6-2[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XzPnJzRe-1614845779689)(https://victorfengming.gitee.io/data_algorithm/i…

JM與h264標準中的關鍵字說明

有些亂,先存著,留著看 如何結合H.264標準看JM代碼》這個web文件,大家都應該有了吧。不過,那個web文檔是“H.264樂園”群中聊天的內容 1、一個sps后,有若干個pps嗎? 這主要又編碼器決定,但J…

云計算(cloud computing)十大問答

本文講的是云計算(cloud computing)十大問答,【IT168 資訊】云計算這個新名詞最近甚囂塵上,最近周圍不少朋友都在談,有必要寫一個關于云計算的科普了。  一般的業界比較喜歡用一些新名詞來體現 自己的戰略眼光和與對…

3150cdn打印機清零 hl_兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下...

原標題:兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下對于兄弟品牌的打印機,相信各位經銷商朋友都遇到過,更換新的粉盒或者加粉后還會提示墨粉不足、更換碳粉盒、更換硒鼓。這個情況需要在機器上操作清零!…

Python 關于bytes類方法對數字轉換的誤區, Json的重要性

本文起源于一次犯錯, 在發覺bytes()里面可以填數字, 轉出來的也是bytes類型, 就心急把里面的東西decode出來. 結果為空.搞來搞去以為是命令不熟練事實上錯在邏輯.a1 bytes(11, encodingutf-8) print(a1)b1 a1.decode()print(b1)a2 bytes(11) print(a2)b2 a2.decode() print…

前綴中綴后綴表達式的計算求值

原文在這里 表達式 前綴表達式(波蘭表達式) 前綴表達式又稱波蘭式,前綴表達式的運算符位于操作數之前舉例說明: (34)5-6 對應的前綴表達式就是 - 3 4 5 6 前綴表達式求值 前綴表達式的計算機求值 從右至左掃描表達式,遇到數字時,將數…

psnr 計算

PSNR是“Peak Signal to Noise Ratio”的縮寫,峰值信噪比。psnr一般是用于最大值信號和背景噪音之間的一個工程項目。 PSNR計算公式如下: 8bits表示法中,peak的最大值為255;MSE指Mean Square Error(均方誤差&#xff0…

光源時間_縮短背光源的使用壽命的原因

許多場所都會使用到led這種產品,這種產品經常用于背光的照亮中。但是由于使用led的局限性較大,所以led逐漸被背光源這種產品所代替,常常用于背景的照亮讓宣傳圖可以展現出更好的視覺,這也是許多人選擇背光源的原因。那么&#xff…

《結對-貪吃蛇-需求分析》

結對編程:貪吃蛇項目 準備階段:安裝Python、pygame 編寫階段:1. 設置游戲窗口 2. 設置游戲必要功能: a)開始、暫停、退出按鈕 b)貪吃蛇身體 c)食物 d)移動貪吃蛇所需按鍵 3. 完善游戲:添加游戲時間、貪吃蛇失敗次數…

視頻中場的問題2009-04-03 19:38(一)

視頻中場的問題2009-04-03 19:38(一) 場的用途: 讓25幀/秒的電視畫面幀速率,變為50幀/秒。使觀眾感受到更加流暢的畫面。 (二) 場的由來: 在電視制作的時候,電視掃描一副畫面的時間根據當地交流電源的頻率來確定。比如中國交流電源…

遞歸應用場景和調用機制

原文鏈接:傳送門 遞歸 迷宮問題(回溯) 概念 簡單吶的說: 遞歸就是方法自己調用自己,每次調用時傳入不同的變量,遞歸有助于編程者解決復雜的問題,同時讓代碼變得簡潔. 案例-遞歸調用機制 打印問題 public static void test(int n){if(n>2){test(n-1);}System.out.print…

在vivado里用rtl描述_如何利用Vivado HLS處理許多位準確或任意精度數據類型

我們在設計硬件時,它往往是要求更精確的位寬。例如,一個filter的輸入是12位和一個累加器的結果只需要一個最大范圍為27位。然而對于硬件設計來說,使用標準的C數據類型會造成硬件成本的浪費。這就會造成我們要使用更多的LUT和寄存器&#xff0…

Spring4.0之四:Meta Annotation(元注解)

Spring框架自2.0開始添加注解的支持,之后的每個版本都增加了更多的注解支持。注解為依賴注入,AOP(如事務)提供了更強大和簡便的方式。這也導致你要是用一個相同的注解到許多不同的類中去。這篇文章介紹meta annotation來解決這個問…

八皇后問題分析與Java實現

原文鏈接:傳送門 八皇后問題 八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯貝瑟爾于1848年提出:在88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即:任意兩個…

各種音視頻編解碼學習詳解 h264 ,mpeg4 ,aac 等所有音視頻格式

編解碼學習筆記(一):基本概念 媒體業務是網絡的主要業務之間。尤其移動互聯網業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放license收費等等。最…

shell 腳本比較字符串相等_shell腳本--邏輯判斷與字符串比較

涉及到比較和判斷的時候,要注意整數比較使用-lt,-gt,ge等比較運算符,詳情參考:整數比較文件測試使用 -d, -f, -x等運算發,詳情參考:文件測試邏輯判斷使用 &&(且)、||(或)、&#xff…