报java.lang.AssertionError错误:

本文详细解释了如何在使用Assert.assertEquals时遇到的引用地址比较问题,通过实例说明了如何正确地比较Object类型值的内容而非引用。当你遇到实际值与预期不符的错误时,只需调整断言条件并确保正确比较对象值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在使用Assert.assertEquals时报一个错误:

在这里插入图片描述

2.首先,我们的明白Assert的用法:

assert <boolean表达式>

​ 如果<boolean表达式>为true,则程序继续执行。

​ 如果为false,则程序抛出AssertionError,并终止执行

assert <boolean表达式> : <错误信息表达式>

​ 如果<boolean表达式>为true,则程序继续执行。

​ 如果为false,则程序抛出java.lang.AssertionError,并输出<错误信息表达式>。

ctrl点进Assert.assertEquals发现

在这里插入图片描述

进行的是判断两个Object类型的值,他们两个比较的是引用地址是否相等, 并没有对内容进行比较:

  1. 如果两者一致, 程序继续往下运行.

  2. 如果两者不一致, 中断测试方法, 抛出异常信息 AssertionFailedError

    而我写的断言是这样的:

    Assert.assertEquals(7, userList.size());
    

错误中明显指出,Excepted是7,actual是8,因此两个值不一致,报错误

因此把7改成8就行

Assert.assertEquals(8, userList.size());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值