摘要:當(dāng)面講給你聽講堂地址,或許是最實(shí)用的教程,新課促銷中,只要你敢來,保你收貨滿滿。優(yōu)惠報(bào)名全程擼碼快速入門教程全原價(jià),優(yōu)惠價(jià)全程擼碼進(jìn)階全原價(jià),優(yōu)惠價(jià)
回顧
Spring Boot - 初識(shí) Hello World
Spring Boot - Servlet、過濾器、監(jiān)聽器、攔截器
Spring Boot - 靜態(tài)資源處理、啟動(dòng)加載、日志處理
Spring Boot - 部署Deploy
Spring Boot - 整合jsp后必須通過spring-boot:run方式啟動(dòng)?
Spring Boot - 為什么整合jsp后必須通過spring-boot:run方式啟動(dòng)?
Spring Boot - 自定義啟動(dòng)banner
Spring Boot - 表單校驗(yàn)(JSR303&Hibernate Validator)
為什么要做單元測(cè)試?現(xiàn)狀不知道怎么編寫單元測(cè)試
項(xiàng)目沒有要求,所以不編寫
單元測(cè)試價(jià)值不高,完全是浪費(fèi)時(shí)間
業(yè)務(wù)邏輯比較簡單,不值得編寫單元測(cè)試
不管怎樣,集成測(cè)試將會(huì)抓住所有的 bug,用不著進(jìn)行單元測(cè)試
在項(xiàng)目的前期還是盡量去編寫單元測(cè)試,但是越到項(xiàng)目的后期就越失控
為了完成編碼任務(wù),沒有足夠的時(shí)間編寫單元測(cè)試
工具(一):Junit4
注解的使用
@Test
@Before @After
@BeforeClass @AfterClass
工具(二):spring-boot-starter-test
注解的使用
@RunWith(SpringRunner.class)
@SpringBootTest
斷言:對(duì)結(jié)果進(jìn)行驗(yàn)證
Assert
模擬HTTP環(huán)境
注解:@AutoConfigureMockMvc
工具類:MockMvc(3步)
perform:執(zhí)行一個(gè)RequestBuilder請(qǐng)求,會(huì)自動(dòng)執(zhí)行SpringMVC的流程并映射到相應(yīng)的控制器執(zhí)行處理;
MockMvcRequestBuilders提供了get/post/put/delete/upload等http請(qǐng)求的方式
提供了header/contentType/cookie/characterEncoding/params等設(shè)置request參數(shù)的方式
ResultActions
andExpect:添加ResultMatcher驗(yàn)證規(guī)則,驗(yàn)證控制器執(zhí)行完成后結(jié)果是否正確;
andDo:添加ResultHandler結(jié)果處理器,比如調(diào)試時(shí)打印結(jié)果到控制臺(tái);
andReturn:最后返回相應(yīng)的MvcResult;然后進(jìn)行自定義驗(yàn)證/進(jìn)行下一步的異步處理;
MvcResult(自定義Assert)
getModelAndView:獲得控制層設(shè)置的ModeAndView對(duì)象
getResponse:獲得最終響應(yīng)結(jié)果
工具(三):Mockito
打樁:實(shí)際上就是對(duì)接口、類、方法、參數(shù)、返回值進(jìn)行偽造或者模擬。
ReflectionTestUtils
注解的使用
@Mock:真實(shí)對(duì)象的替代品
@Spy:被測(cè)試對(duì)象需要一部分被執(zhí)行、一部分被mock,需要用spy對(duì)目標(biāo)對(duì)象進(jìn)行包裝
thenReturn與doReturn差異
語法:
when-thenReturn
when(obj.method()).thenReturn(returnValue)
doReturn-when
doReturn(returnValue).when(obj).method()
差異
API | Mock Obj | Spy Obj |
---|---|---|
when-thenReturn | × | ○ |
doReturn-when | × | × |
本文詳細(xì)的講解了Junit,Mockito,以及spring boot的測(cè)試工具,相信各位看官老爺一定還想了解更多詳細(xì)內(nèi)容和使用技巧。
??當(dāng)面講給你聽?? 講堂地址,或許是最實(shí)用的教程,新課促銷中,只要你敢來,保你收貨滿滿?。
優(yōu)惠報(bào)名 【全程擼碼】Spring Boot 1.5 快速入門教程(全)(原價(jià):文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67731.html
摘要:單元測(cè)試因?yàn)楣締卧獪y(cè)試覆蓋率需要達(dá)到,所以進(jìn)行單元測(cè)試用例編寫。測(cè)試的時(shí)候可以把每個(gè)判斷分支都走到。同這句代碼,可以通過如此一個(gè)對(duì)象,使用以上方法基本上可以編寫所有代碼的測(cè)試類。編寫測(cè)試一定程度上可以發(fā)現(xiàn)代碼錯(cuò)誤,可以借此重構(gòu)代碼。 3.springboot單元測(cè)試因?yàn)楣締卧獪y(cè)試覆蓋率需要達(dá)到80%,所以進(jìn)行單元測(cè)試用例編寫。多模塊項(xiàng)目的因?yàn)闀?huì)經(jīng)常調(diào)用其他服務(wù),而且避免數(shù)據(jù)庫操作對(duì)...
摘要:但是,一個(gè)好的單元測(cè)試應(yīng)該是毫秒級(jí)的,否則這會(huì)影響的工作方式,這也就是測(cè)試驅(qū)動(dòng)開發(fā)的思想。在單元測(cè)試中,我們可以像這樣來構(gòu)建一個(gè)實(shí)例。所以,我們?cè)趯憜卧獪y(cè)試的時(shí)候,應(yīng)該以一種更簡單的方式去構(gòu)建。 本文翻譯自:https://reflectoring.io/unit-...原文作者:Tom Hombergs 譯文原地址:https://weyunx.com/2019/02/04... ...
摘要:在類里,本地類里用關(guān)鍵字聲明過的方法,在單元測(cè)試啟動(dòng)后會(huì)自動(dòng)被調(diào)用到。在及的設(shè)定思路里,放在路徑下面以結(jié)尾的類會(huì)被當(dāng)成單元測(cè)試類處理。 ABAP 在ABAP類里,本地類(Local Class)里用關(guān)鍵字FOR TESTING聲明過的方法,showImg(https://segmentfault.com/img/remote/1460000016898407); 在單元測(cè)試啟動(dòng)后會(huì)自動(dòng)...
摘要:例子使用源代碼我們先給了一個(gè)的實(shí)現(xiàn)然后又規(guī)定了方法的返回值。源代碼也就是說,得益于,我們能夠很方便地對(duì)依賴關(guān)系中任意層級(jí)的任意做。 Github地址 Mock測(cè)試技術(shù)能夠避免你為了測(cè)試一個(gè)方法,卻需要自行構(gòu)建整個(gè)依賴關(guān)系的工作,并且能夠讓你專注于當(dāng)前被測(cè)試對(duì)象的邏輯,而不是其依賴的其他對(duì)象的邏輯。 舉例來說,比如你需要測(cè)試Foo.methodA,而這個(gè)方法依賴了Bar.methodB,...
摘要:框架是和應(yīng)用程序的另一個(gè)測(cè)試和規(guī)范框架。它是為應(yīng)用程序編寫自動(dòng)測(cè)試的最有用的庫之一。數(shù)據(jù)庫是許多應(yīng)用程序包括核心和應(yīng)用程序不可分割的一部分,可能是進(jìn)行單元測(cè)試時(shí)的最大障礙。 作為一名Java開發(fā)人員,我們從事不同的領(lǐng)域,從編寫核心Java代碼到創(chuàng)建JSP頁面、編寫RESTAPI,有時(shí)甚至創(chuàng)建Groovy腳本以實(shí)現(xiàn)構(gòu)建自動(dòng)化...
閱讀 2079·2023-04-25 22:58
閱讀 1432·2021-09-22 15:20
閱讀 2709·2019-08-30 15:56
閱讀 2005·2019-08-30 15:54
閱讀 2124·2019-08-29 12:31
閱讀 2743·2019-08-26 13:37
閱讀 608·2019-08-26 13:25
閱讀 2110·2019-08-26 11:58