public void addBook(Book b){ String sql="insert into Book values('"+b.getBook_ISBN()+"','"+b.getBook_category()+"','"+b.getBook_name()+"','"+b.getBook_author()+"','"+b.getPublish_house()+"','"+b.getPublish_time()+"','"+b.getBook_price()+"','"+b.getBook_sum()+"','"+b.getBook_remain()+"','"+b.getBook_introduce()+"')"; Object params[]={b.getBook_ISBN(),b.getBook_category(),b.getBook_name(),b.getBook_author(),b.getPublish_house(),b.getPublish_time(),b.getBook_price(),b.getBook_sum(),b.getBook_sum(),b.getBook_remain(),b.getBook_introduce()}; DBHelper.executeUpdate(sql,params); }用junit实现测试的代码
时间: 2024-03-24 15:39:42 浏览: 16
这是一个添加图书的方法,可以使用JUnit对其进行测试。测试代码如下:
```
@Test
public void testAddBook() {
Book book = new Book("1234567890", "Science Fiction", "The Hitchhiker's Guide to the Galaxy", "Douglas Adams", "Pan Books", "1979-10-12", 8.99, 50, 50, "The ultimate answer to the ultimate question of life, the universe, and everything is 42.");
Library library = new Library();
library.addBook(book);
assertEquals(1, library.getBooks().size());
}
```
这个测试方法创建一个Book对象,并将其添加到Library对象中,然后使用assertEquals方法来检查图书集合中是否有一个元素。如果测试通过,将会返回1,否则将会抛出AssertionError异常。
相关问题
public void addBook(Book b){ String sql="insert into Book values('"+b.getBook_ISBN()+"','"+b.getBook_category()+"','"+b.getBook_name()+"','"+b.getBook_author()+"','"+b.getPublish_house()+"','"+b.getPublish_time()+"','"+b.getBook_price()+"','"+b.getBook_sum()+"','"+b.getBook_remain()+"','"+b.getBook_introduce()+"')"; Object params[]={b.getBook_ISBN(),b.getBook_category(),b.getBook_name(),b.getBook_author(),b.getPublish_house(),b.getPublish_time(),b.getBook_price(),b.getBook_sum(),b.getBook_sum(),b.getBook_remain(),b.getBook_introduce()}; DBHelper.executeUpdate(sql,params); }实现junit测试的代码
可以参考以下代码实现JUnit测试:
```java
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.Test;
public class BookTest {
@Test
public void testAddBook() {
// 创建一个模拟的DBHelper对象
DBHelper mockDBHelper = mock(DBHelper.class);
// 创建一个Book对象
Book book = new Book();
book.setBook_ISBN("1234567890");
book.setBook_category("Programming");
book.setBook_name("Java Programming");
book.setBook_author("John Smith");
book.setPublish_house("Publishing House");
book.setPublish_time("2022-01-01");
book.setBook_price(50.0);
book.setBook_sum(100);
book.setBook_remain(90);
book.setBook_introduce("Introduction");
// 创建一个BookDao对象
BookDao bookDao = new BookDao(mockDBHelper);
// 调用addBook方法
bookDao.addBook(book);
// 验证是否调用了DBHelper的executeUpdate方法,并传入了正确的参数
verify(mockDBHelper).executeUpdate("insert into Book values(?,?,?,?,?,?,?,?,?,?)",
book.getBook_ISBN(), book.getBook_category(), book.getBook_name(), book.getBook_author(),
book.getPublish_house(), book.getPublish_time(), book.getBook_price(), book.getBook_sum(),
book.getBook_remain(), book.getBook_introduce());
// 使用when和thenReturn方法模拟executeUpdate返回值
when(mockDBHelper.executeUpdate(any(String.class), any(Object[].class))).thenReturn(1);
// 调用addBook方法后,期望返回值为1
int result = bookDao.addBook(book);
assertEquals(1, result);
}
}
```
public class BookDaoTest { @Test public void testAddBook() { //创建一个Book对象 Book book = new Book(); book.setBook_ISBN("456"); 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 * from Book where book_ISBN=?"; Object[] params = { "456" }; ResultSet rs = DBHelper.executeQuery(sql, params); // 检查添加的图书信息是否正确 assertEquals("456", ((Book) rs).getBook_ISBN()); assertEquals("计算机科学", ((Book) rs).getBook_category()); assertEquals("java编程思想", ((Book) rs).getBook_name()); assertEquals("张三", ((Book) rs).getBook_author()); assertEquals("机械工业出版社", ((Book) rs).getPublish_house()); assertEquals("2020-01",((Book) rs).getPublish_time()); assertEquals(65, ((Book) rs).getBook_price(), 0.01); assertEquals(12, ((Book) rs).getBook_sum()); assertEquals(4, ((Book) rs).getBook_remain()); assertEquals("无", ((Book) rs).getBook_introduce()); } }怎么修改
在这段代码中,我们需要将ResultSet对象转换为Book对象进行属性值的比较。因此,需要在ResultSet对象中获取正确的属性值,并将其设置到Book对象中,然后再进行比较。修改后的代码如下:
```
public class BookDaoTest {
@Test
public void testAddBook() {
//创建一个Book对象
Book book = new Book();
book.setBook_ISBN("456");
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 * from Book where book_ISBN=?";
Object[] params = {"456"};
ResultSet rs = DBHelper.executeQuery(sql, params);
Book addedBook = new Book();
try {
if (rs.next()) {
addedBook.setBook_ISBN(rs.getString("book_ISBN"));
addedBook.setBook_category(rs.getString("book_category"));
addedBook.setBook_name(rs.getString("book_name"));
addedBook.setBook_author(rs.getString("book_author"));
addedBook.setPublish_house(rs.getString("publish_house"));
addedBook.setPublish_time(rs.getString("publish_time"));
addedBook.setBook_price(rs.getDouble("book_price"));
addedBook.setBook_sum(rs.getInt("book_sum"));
addedBook.setBook_remain(rs.getInt("book_remain"));
addedBook.setBook_introduce(rs.getString("book_introduce"));
}
} catch (SQLException e) {
e.printStackTrace();
}
//检查添加的图书信息是否正确
assertEquals("456", addedBook.getBook_ISBN());
assertEquals("计算机科学", addedBook.getBook_category());
assertEquals("java编程思想", addedBook.getBook_name());
assertEquals("张三", addedBook.getBook_author());
assertEquals("机械工业出版社", addedBook.getPublish_house());
assertEquals("2020-01", addedBook.getPublish_time());
assertEquals(65, addedBook.getBook_price(), 0.01);
assertEquals(10, addedBook.getBook_sum());
assertEquals(2, addedBook.getBook_remain());
assertEquals("无", addedBook.getBook_introduce());
}
}
```
这样就能正确比较添加的图书信息是否正确了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)