【发布时间】:2021-10-29 15:29:15
【问题描述】:
对于我在 InteliJ 中创建的以下 Java 类 DAO,我需要创建一个测试:
“返回测试 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;
}
【问题讨论】:
-
parkId在您的代码中的什么位置?我认为parkId概念没有任何逻辑。 -
这是一个有多个DAO方法连接到SQL表的项目。如果我提供 Park DAO 的逻辑和 Park 的表列会有帮助吗?
-
不,不是。你写了
"Returns two reservations for test parkId 1.",我的问题是这个parkId在你展示的代码中与哪里相关?我使用 ID 什么也看不到。我可以为您提供该方法的测试,但我不理解您的说法。 -
是的,我很抱歉。我错误地编写了 Select 语句。我应该加入 4 张桌子,其中一张是公园桌子。我现在能够想出这个测试。感谢您的跟进。
-
那么请写下你是如何做到的,并接受它作为正确的答案,以便其他人可以从中受益。谢谢!
标签: java unit-testing junit