解决报java.lang.AssertionError错误的问题

 更新时间:2022年05月21日 11:36:58   作者:超人不会跑  
这篇文章主要介绍了解决报java.lang.AssertionError错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

报java.lang.AssertionError错误

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

首先我们的明白Assert的用法

assert <boolean表达式>

  • 如果<boolean表达式>为true,则程序继续执行。
  • 如果为false,则程序抛出AssertionError,并终止执行

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

  • 如果<boolean表达式>为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<Category> list = dao.find();
        int actual = list.size();
        int expected = 2;
        //使用断言类的方法判断;比较实际和预计的结果
        Assert.assertEquals(actual, expected);
    }

如果你也报了如题的错误,

你看看你的数据库数据条数是不是和expected的2不一样

是不是错误里写的actual 的值,比如我的数据库就有9条

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Maven排除依赖和可选依赖的使用方法

    Maven排除依赖和可选依赖的使用方法

    我们知道Maven依赖具有传递性,例如A依赖于B,B依赖于C,在不考虑依赖范围等因素的情况下,Maven会根据依赖传递机制,将间接依赖C 引入到A中,但如果A出于某种原因,希望将间接依赖C排除,那该怎么办呢,Maven为用户提供了两种解决方式排出和可选
    2023-06-06
  • Java利用随机分钱模拟财富变化

    Java利用随机分钱模拟财富变化

    这篇文章主要为大家详细介绍了Java如何利用随机分钱思想模拟财富的变化,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • 详解Java中的线程让步yield()与线程休眠sleep()方法

    详解Java中的线程让步yield()与线程休眠sleep()方法

    Java中的线程让步会让线程让出优先级,而休眠则会让线程进入阻塞状态等待被唤醒,这里我们对比线程等待的wait()方法,来详解Java中的线程让步yield()与线程休眠sleep()方法
    2016-07-07
  • 迅速掌握Java容器中常用的ArrayList类与Vector类用法

    迅速掌握Java容器中常用的ArrayList类与Vector类用法

    这篇文章主要介绍了Java容器中常用的ArrayList类与Vector类用法,文中只对其最基本的功能给出了示例代码,需要的朋友可以参考下
    2015-11-11
  • Java 方法引用与ambda表达式的联系

    Java 方法引用与ambda表达式的联系

    这篇文章主要介绍了Java 方法引用与ambda表达式的联系,方法引用通过方法的名字来指向一个方法, 方法引用同样是Java 8 引入的新特性,而且和Lambda表达式有着不小的联系,它同样可以根据上下文进行推导,进而可以简化代码
    2022-06-06
  • Java @GlobalLock注解详细分析讲解

    Java @GlobalLock注解详细分析讲解

    这篇文章主要介绍了Java @GlobalLock注解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • 你要知道IDEA的这些必备插件

    你要知道IDEA的这些必备插件

    这篇文章主要介绍了你要知道IDEA的这些必备插件,文中有非常详细的图文示例及代码,对正在使用IDEA的小伙伴们有很好的帮助哟,需要的朋友可以参考下
    2021-05-05
  • Java easyui树形表格TreeGrid的实现代码

    Java easyui树形表格TreeGrid的实现代码

    这篇文章主要为大家详细介绍了Java easyui树形表格TreeGrid的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 一篇文章带你初步认识Maven

    一篇文章带你初步认识Maven

    这篇文章主要为大家初步认识了Maven,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 关于TransmittableThreadLocal线程池中线程复用问题的解决方案

    关于TransmittableThreadLocal线程池中线程复用问题的解决方案

    这篇文章主要介绍了关于TransmittableThreadLocal线程池中线程复用问题的解决方案,线程池复用线程,如果子线程执行完未移除上下文,则会导致后续线程可以取到之前线程设置的属性,需要的朋友可以参考下
    2023-11-11

最新评论