我有一个Customer类,它连接到db并将数据保存到mysql。我使用tomcat7和mysql。我想测试这个类。我有这种方法:与db连接的Java测试类
public CustomerData findById(int customerId) throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
CustomerData customer = null;
try {
String sql = "SELECT id, status, username, email, age, country, city, is_hidden FROM "
+ TABLE + " WHERE id = ?";
conn = DBManager.getConnection();
stmt = conn.prepareStatement(sql);
stmt.setInt(1, customerId);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
customer = new CustomerData(rs.getInt(1), rs.getInt(2),
rs.getString(3), null, rs.getString(4), rs.getInt(5),
String.valueOf(rs.getInt(6)), String.valueOf(rs
.getInt(7)), 0, rs.getInt(8));
}
return customer;
} finally {
closeConnection(conn, stmt);
}
}
我该如何测试它?
你想测试什么?那里几乎没有任何逻辑。 – Thilo
我想测试sql语法并返回数据 –
如果你想测试连接,你应该测试DBManager。如果你想测试CustomerData.findById,并且你想编写一个单元测试,你应该使用模拟对象。 – erimerturk