如何在java中测试crud操作
请解释我如何在java中测试CRUD操作,如下所示:如何在java中测试crud操作,java,testing,crud,Java,Testing,Crud,请解释我如何在java中测试CRUD操作,如下所示: public void insert(User user) { Connection con = null; PreparedStatement ps; try { con = DatabaseConnection.dbCon(); ps = con.prepareStatement("insert into usert (name,surname,role_id,login,passw
public void insert(User user) {
Connection con = null;
PreparedStatement ps;
try {
con = DatabaseConnection.dbCon();
ps = con.prepareStatement("insert into usert (name,surname,role_id,login,password) values(?,?,?,?,?)");
ps.setString(1, user.getName());
ps.setString(2, user.getSurname());
ps.setInt(3, user.getRole().getId());
ps.setString(4, user.getLogin());
ps.setString(5, user.getPassword());
ps.execute();
if (con != null) {
con.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* deletes user
* @param user
*/
public void delete(User user) {
Connection con = null;
PreparedStatement ps;
try {
con = DatabaseConnection.dbCon();
ps = con.prepareStatement("delete from usert where id = ?");
ps.setInt(1, user.getId());
ps.execute();
if (con != null) {
con.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
现在,我为用户等模型编写了单元测试。我不知道如何测试按钮和上述其他操作。实际上,您的代码有很多缺点。例如,您正在尝试关闭“try”块中的连接,而不是finally 不管怎样,由你的问题决定。 请注意,我的建议只有在您不使用标准sql语法时才有意义,这种语法对于所有数据库都是通用的(这对于学习来说是可以的,但在现实生活中是很少见的)。除非您正在学习JDBC,否则我还建议您看看类似Hibernate的ORM 要测试数据库操作,可以执行以下操作:
getConnection
方法,该方法触发您的DatabaseConnection.dbConn()
顺便说一句,不需要用单独的方法提取
DatabaseConnection.dbConn()
。您可以使用powermock,它会很好地工作。但我建议你先学习mockito。理想情况下,不要。使用JPA为您完成所有这些;更好的是,使用Spring数据自动生成查询基础结构。相关: