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

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

WBOY
WBOY轉載
2023-04-30 17:37:075488瀏覽

報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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除