如何解决 Java 中的 "java.lang.AssertionError" 错误?
作者:吹吹风会发光
时间:2023-04-25
浏览:2
报java.lang.AssertionError错误在使用Assert.assertEquals时报一个错误首先我们的明白Assert的用法assert如果为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行assert:如果为true,则程序继续执行。如果为false,则程序抛出java.lang.AssertionError,并输出。ctrl点进Assert.assertEquals发现进行的是判断两个Object类型的值,他们两个比较的是引用地址是否相等
报java.lang.AssertionError错误
在使用Assert.assertEquals时报一个错误

首先我们的明白Assert的用法
assert
如果
为true,则程序继续执行。 如果为false,则程序抛出AssertionError,并终止执行
assert
如果
为true,则程序继续执行。 如果为false,则程序抛出java.lang.AssertionError,并输出<错误信息表达式>。
ctrl点进Assert.assertEquals发现

进行的是判断两个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 list = dao.find();
int actual = list.size();
int expected = 2;
//使用断言类的方法判断;比较实际和预计的结果
Assert.assertEquals(actual, expected);
} 如果你也报了如题的错误,
你看看你的数据库数据条数是不是和expected的2不一样
是不是错误里写的actual 的值,比如我的数据库就有9条
作者最新文章
Typora怎么插入表格?Ctrl+T快速建表并调整行列
2026-10-05 17:59
iphone蓝牙连接ipad有什么用及连接方法教程
2026-09-21 17:28
PDF怎么取消密码保护?4种解锁方法整理
2026-09-08 18:23
三星 Galaxy Z Fold8 内屏边角支撑偏软?实测与官方回应
2026-09-08 16:39
手机Excel表格制作教程:小屏幕高效录入与格式调整指南
2026-09-04 09:27
上一篇:
怎么理解Java中的Maven
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































