簡體   English   中英

為 Java DAO 類中的方法創建測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM