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

网友投稿 568 2022-07-29


目录报java.lang.AssertionError错误在使用Assert.assertEquals时报一个错误首先我们的明白Assert的用法java.lang.AssertionError: Expected:2 Actual:9单元测试代码如下

报java.lang.AssertionError错误

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

首先我们的明白Assert的用法

assert &http://lt;boolean表达式>

如果为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行

assert : <错误信息表达式>

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

ctrl点进Assert.assertEquals发现

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

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

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

而我写的断言是这样的:

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

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

因此把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条


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java如何实现登录token令牌(java单点登录token)
下一篇:使用代码生成器自定义Entity的部分注解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~