欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-08-03 12:21:07|栏目:JAVA代码|点击:

报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条

上一篇:Java设计模式之原型模式的示例详解

栏    目:JAVA代码

下一篇:Spring源码解析之事务传播特性

本文标题:解决报java.lang.AssertionError错误的问题

本文地址:http://www.codeinn.net/misctech/209711.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有