gpt4 book ai didi

java - java中void方法的正确单元测试,无需模拟

转载 作者:行者123 更新时间:2023-12-01 17:24:01 24 4
gpt4 key购买 nike

有没有一种方法可以在不使用 Mockito 的情况下测试不返回任何值的方法?这是示例方法。我是单元测试新手。

public void addMantisData(ArrayList<Mantis> list) {

try {
connection = dataSource.getConnection();

PreparedStatement preparedStatement = connection
.prepareStatement("INSERT INTO mantises (ticketId, startDate, endDate, hours, minutes, " +
"employeeId, timeIn, timeOut, dateSubmitted, category, status, timestamp) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())");

for (Mantis mantis : list) {
preparedStatement.setInt(1, mantis.getTicketId());
preparedStatement.setString(2, mantis.getStartDate());
preparedStatement.setString(3, mantis.getEndDate());
preparedStatement.setInt(4, mantis.getHours());
preparedStatement.setInt(5, mantis.getMinutes());
preparedStatement.setInt(6, mantis.getEmployeeId());
preparedStatement.setString(7, mantis.getStartTime());
preparedStatement.setString(8, mantis.getEndTime());
preparedStatement.setString(9, mantis.getDateSubmitted());
preparedStatement.setString(10, mantis.getCategory());
preparedStatement.setString(11, mantis.getStatus());
preparedStatement.addBatch();
}

preparedStatement.executeBatch();
preparedStatement.close();

} catch (SQLException e) {

} finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {

}
}
}
}

感谢您的帮助:)

最佳答案

这看起来更像是与数据库的集成测试,而不是纯粹的单元测试。另外,我不确定您要测试的是什么,如果是查询,您将需要执行插入,然后尝试从数据库获取预期值并使用预期结果断言。确保您使用自己的数据库实例并在测试后回滚。 DBUnit将为您实现这一点,请查看

关于java - java中void方法的正确单元测试,无需模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com