Book book = new Book(); book.setBook_ISBN("3456"); book.setBook_category("计算机科学"); book.setBook_name("java编程思想"); book.setBook_author("张三"); book.setPublish_house("机械工业出版社"); book.setPublish_time("2020-01"); book.setBook_price(65); book.setBook_sum(10); book.setBook_remain(2); book.setBook_introduce("无"); //调用addBook方法 BookDao bookDao = new BookDao(); bookDao.addBook(book); //验证是否成功插入一条数据 String sql = "select count(*) from Book where Book_ISBN=?"; Object [] params = {book.getBook_ISBN() }; boolean count = DBHelper.executeUpdate(sql,params); assertEquals(1,count);为什么assertEquals(1,count);会报错
时间: 2024-03-31 17:37:01 浏览: 52
可以根据错误提示信息来判断具体错误原因,如果没有错误提示信息,可以检查以下几个方面:
1. 是否正确引入了JUnit框架,在代码中是否正确导入了需要的类。
2. 在测试方法中是否正确创建了被测试的对象和使用了正确的测试数据。
3. 在测试方法中是否正确调用了被测试方法并获取了正确的返回值。
4. 在使用assertEquals方法时,参数顺序是否正确,期望值和实际值是否一致。
5. 是否存在数据库连接问题,需要检查数据库连接是否正常,以及SQL语句是否正确。
相关问题
@Override public void update(Book book) throws SQLException { String sql = "update book set book_name=?,isbn=?,category=? where book_id=?"; qr.update(DBUtil.getConnection(),sql,book.getBook_name(),book.getIsbn(),book.getCategory(),book.getBook_id()); }
这段代码是一个Java方法,用于更新数据库中的一本书的信息。update方法接收一个Book对象作为参数,然后使用JDBC操作数据库,执行SQL语句,将Book对象中的属性值更新到数据库中。具体来说,这段代码使用了一个名为"qr"的QueryRunner对象,它是Apache Commons DbUtils库提供的一个简化JDBC操作的工具类。update方法使用了QueryRunner对象的update方法,该方法接收一个Connection对象、一个SQL语句和一些参数,然后执行SQL语句并返回更新的记录数。在这段代码中,SQL语句是"update book set book_name=?,isbn=?,category=? where book_id=?",其中问号表示占位符,代表后面的参数。最后,update方法使用Book对象的get方法获取book_name、isbn、category和book_id的属性值,并将它们作为参数传递给update方法,完成数据库更新操作。
# 更改图书信息 def update_book(): update_book_window = tk.Toplevel() # Toplevel 容器控件,用来提供一个单独的对话框。创建窗口对象 update_book_window.geometry('300x200+1000+300') update_book_window.title("更改图书信息") # 创建标签和输入框 id_label = tk.Label(update_book_window, text="请输入要更改的图书书号:") id_label.pack() id_entry = tk.Entry(update_book_window) id_entry.pack() # 创建和显示单行文本框 g_label = tk.Label(update_book_window, text="请输入要更改后的图书信息:") g_label.pack() g_id_label = tk.Label(update_book_window, text="书号:") g_id_label.pack() g_id_entry = tk.Entry(update_book_window) g_id_entry.pack() # 创建和显示单行文本框 g_title_label = tk.Label(update_book_window, text="书名:") g_title_label.pack() g_title_entry = tk.Entry(update_book_window) g_title_entry.pack() g_category_label = tk.Label(update_book_window, text="图书类别:") g_category_label.pack() g_category_entry = tk.Entry(update_book_window) g_category_entry.pack() # 提交按钮 submit_button = tk.Button(update_book_window,text="更改", command=lambda: save_update_book(id_entry.get(), g_id_entry.get(), g_title_entry.get(), g_category_entry.get()) ) # command属性指定Button的事件处理函数 submit_button.pack() update_book_window.mainloop() # 保存更改图书信息到数据库 def save_update_book(g_id_entry, g_title_entry, g_category_entry, id_entry): c.execute("UPDATE products SET id=? title=? category=? WHERE id=?", (g_id_entry, g_title_entry, g_category_entry, id_entry))
这段代码是一个图书信息管理系统中的函数,用于更改图书信息。函数`update_book()`创建了一个单独的对话框窗口,包含了输入要更改的图书书号和更改后的图书信息的输入框。最后,提交按钮被点击时,调用`save_update_book()`函数将更改后的图书信息保存到数据库中。
`save_update_book()`函数使用SQL语句更新数据库中的图书信息。它使用`UPDATE`语句将给定的图书ID对应的记录的ID、标题和类别更新为新输入的值。
请注意,这里代码仅包含了界面部分和更新数据库部分的代码,数据库连接和游标对象的创建以及其他必要的代码未包含在内。
阅读全文