![](/img/trans.png)
[英]Java configuration for Junit test of DAO class(Spring5+Hibernate5)
[英]Creating a test for a method in Java DAO class
對於我在 InteliJ 中創建的以下 Java 類 DAO,我需要創建一個測試:
“返回 test parkId 1 的兩個預留。”
我需要幫助編寫邏輯本身以進行可能的測試
這是方法:
@Override
public List<UpcomingReservation> getAllUpcomingReservations() {
List<UpcomingReservation> reservations = new ArrayList<>();
String sql = "SELECT * FROM reservation WHERE from_date >= CURRENT_DATE AND from_date <= CURRENT_DATE + 30";
SqlRowSet results = jdbcTemplate.queryForRowSet(sql);
while (results.next()) {
reservations.add(mapRowToUpcomingReservation(results));
}
return reservations;
}
正確的 SQL 查詢應該如下所示,其中包含 parkID:
}
public List<Reservation> getAllReservationsNext30Days(int parkID) {
List<Reservation> reservations = new ArrayList<>();
String sql = "SELECT * FROM park JOIN campground ON park.park_id = campground.park_id JOIN site ON campground.campground_id = site.campground_id JOIN reservation ON site.site_id = reservation.site_id WHERE from_date >= CURRENT_DATE AND from_date <= CURRENT_DATE + 30";
SqlRowSet results = jdbcTemplate.queryForRowSet(sql);
while (results.next()) {
reservations.add(mapRowToReservation(results));
}
return reservations;
}
我試圖創建的正確測試是:
@Test
public void getUpcomingReservations_Should_ReturnNext30DayReservations(){
List<Reservation> upcomingReservation = dao.getAllReservationsNext30Days(1);
assertEquals(2, upcomingReservation.size());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.