首頁 > Java > java教程 > java.lang.AssertionError錯誤問題怎麼解決

java.lang.AssertionError錯誤問題怎麼解決

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2023-04-30 17:37:07
轉載
5572 人瀏覽過

報java.lang.AssertionError錯誤

在使用Assert.assertEquals時報一個錯誤

java.lang.AssertionError錯誤問題怎麼解決

首先我們的明白Assert的用法

assert

  • #如果為true,則程式繼續執行。

  • 如果為false,則程式拋出AssertionError,並終止執行

assert : < ;錯誤訊息表達式>

  • 如果為true,則程式繼續執行。

  • 如果為false,則程式拋出java.lang.AssertionError,並輸出。

ctrl點進Assert.assertEquals發現

java.lang.AssertionError錯誤問題怎麼解決

#進行的是判斷兩個Object類型的值,他們兩個比較的是引用位址是否相等, 並沒有對內容進行比較:

如果兩者一致, 程式繼續往下運行.

如果兩者不一致, 中斷測試方法, 拋出異常訊息AssertionFailedError

而我寫的斷言是這樣的:

Assert.assertEquals(7, userList.size());
登入後複製

錯誤中明顯指出,Excepted是7,actual是8,因此兩個值不一致,報錯誤

因此把7改成8就行

Assert.assertEquals(8, userList.size());
登入後複製

java.lang.AssertionError: Expected:2 Actual:9

我是在單元測試find的jdbc程式碼時遇到的

單元測試程式碼如下

    @Test
    public void testFind() throws Exception {
        //构建测试数据
        //创建目标类的对象
        CategoryDaoImpl dao = new CategoryDaoImpl();
        //调用对象的目标方法
        List<Category> list = dao.find();
        int actual = list.size();
        int expected = 2;
        //使用断言类的方法判断;比较实际和预计的结果
        Assert.assertEquals(actual, expected);
    }
登入後複製

如果你也報瞭如題的錯誤,

你看看你的資料庫資料條數是不是和expected的2不一樣

是不是錯誤裡寫的actual 的值,像是我的資料庫就有9條

以上是java.lang.AssertionError錯誤問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java可以做為web的後端嗎?
來自於 1970-01-01 08:00:00
0
0
0
安裝JAVA
來自於 1970-01-01 08:00:00
0
0
0
無法安裝java
來自於 1970-01-01 08:00:00
0
0
0
求救:JAVA加密的資料PHP解密
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板