解決報(bào)java.lang.AssertionError錯(cuò)誤的問(wèn)題
報(bào)java.lang.AssertionError錯(cuò)誤
在使用Assert.assertEquals時(shí)報(bào)一個(gè)錯(cuò)誤
首先我們的明白Assert的用法
assert <boolean表達(dá)式>
- 如果<boolean表達(dá)式>為true,則程序繼續(xù)執(zhí)行。
- 如果為false,則程序拋出AssertionError,并終止執(zhí)行
assert <boolean表達(dá)式> : <錯(cuò)誤信息表達(dá)式>
- 如果<boolean表達(dá)式>為true,則程序繼續(xù)執(zhí)行。
- ?如果為false,則程序拋出java.lang.AssertionError,并輸出<錯(cuò)誤信息表達(dá)式>。
ctrl點(diǎn)進(jìn)Assert.assertEquals發(fā)現(xiàn)
進(jìn)行的是判斷兩個(gè)Object類型的值,他們兩個(gè)比較的是引用地址是否相等, 并沒(méi)有對(duì)內(nèi)容進(jìn)行比較:
如果兩者一致, 程序繼續(xù)往下運(yùn)行.
如果兩者不一致, 中斷測(cè)試方法, 拋出異常信息 AssertionFailedError
而我寫的斷言是這樣的:
Assert.assertEquals(7, userList.size());
錯(cuò)誤中明顯指出,Excepted是7,actual是8,因此兩個(gè)值不一致,報(bào)錯(cuò)誤
因此把7改成8就行
Assert.assertEquals(8, userList.size());
java.lang.AssertionError: Expected:2 Actual:9
我是在單元測(cè)試find的jdbc代碼時(shí)遇到的
單元測(cè)試代碼如下
? ? @Test ? ? public void testFind() throws Exception { ? ? ? ? //構(gòu)建測(cè)試數(shù)據(jù) ? ? ? ? //創(chuàng)建目標(biāo)類的對(duì)象 ? ? ? ? CategoryDaoImpl dao = new CategoryDaoImpl(); ? ? ? ? //調(diào)用對(duì)象的目標(biāo)方法 ? ? ? ? List<Category> list = dao.find(); ? ? ? ? int actual = list.size(); ? ? ? ? int expected = 2; ? ? ? ? //使用斷言類的方法判斷;比較實(shí)際和預(yù)計(jì)的結(jié)果 ? ? ? ? Assert.assertEquals(actual, expected); ? ? }
如果你也報(bào)了如題的錯(cuò)誤,
你看看你的數(shù)據(jù)庫(kù)數(shù)據(jù)條數(shù)是不是和expected的2不一樣
是不是錯(cuò)誤里寫的actual 的值,比如我的數(shù)據(jù)庫(kù)就有9條
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何讓W(xué)in10實(shí)現(xiàn)Java文件的開(kāi)機(jī)自啟動(dòng)
這篇文章主要介紹了如何讓W(xué)in10實(shí)現(xiàn)Java文件的開(kāi)機(jī)自啟動(dòng),對(duì)于一些想要一直運(yùn)行的Java文件,就會(huì)造成每次系統(tǒng)更新之后的重啟導(dǎo)致Java文件無(wú)法繼續(xù)運(yùn)行。,需要的朋友可以參考下2019-06-06java抓取網(wǎng)頁(yè)數(shù)據(jù)示例
要通java獲取整個(gè)網(wǎng)頁(yè)的html內(nèi)容,或者某個(gè)網(wǎng)絡(luò)文件的內(nèi)容,可以使用java提供的HttpURLConnection類來(lái)實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)內(nèi)容的抓取2014-03-03springboot 中 inputStream 神秘消失之謎(終破)
這篇文章主要介紹了springboot 中 inputStream 神秘消失之謎,為了能夠把這個(gè)問(wèn)題說(shuō)明,我們首先需要從簡(jiǎn)單的http調(diào)用說(shuō)起,通過(guò)設(shè)置body等一些操作,具體實(shí)現(xiàn)代碼跟隨小編一起看看吧2021-08-08Intellij IDEA插件開(kāi)發(fā)入門詳解
這篇文章主要介紹了Intellij IDEA插件開(kāi)發(fā)入門詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02解決mybatis where-if中if不能識(shí)別大寫AND,OR的問(wèn)題
這篇文章主要介紹了解決mybatis where-if中if不能識(shí)別大寫AND,OR的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02自己動(dòng)手實(shí)現(xiàn)mybatis動(dòng)態(tài)sql的方法
下面小編就為大家分享一篇自己動(dòng)手實(shí)現(xiàn)mybatis動(dòng)態(tài)sql的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Java使用POI導(dǎo)出Excel(一):?jiǎn)蝧heet
這篇文章介紹了Java使用POI導(dǎo)出Excel的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10Java @PostMapping和@GetMapping方法使用詳解
這篇文章主要介紹了Java @PostMapping和@GetMapping方法使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-03-03