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