assert
如果
如果为false,则程序抛出AssertionError,并终止执行
assert
如果
如果为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());
我是在单元测试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错误问题怎么解决的详细内容。更多信息请关注PHP中文网其他相关文章!