温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java.lang.AssertionError错误问题怎么解决

发布时间:2022-05-21 14:50:27 来源:亿速云 阅读:2596 作者:iii 栏目:开发技术

这篇文章主要介绍了java.lang.AssertionError错误问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java.lang.AssertionError错误问题怎么解决文章都会有所收获,下面我们一起来看看吧。

报java.lang.AssertionError错误

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

java.lang.AssertionError错误问题怎么解决

首先我们的明白Assert的用法

assert <boolean表达式>

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

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

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

  • 如果<boolean表达式>为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错误问题怎么解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java.lang.AssertionError错误问题怎么解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI