我目前正在尝试测试(单元测试)一个连接到数据库的类,请参阅代码:
public Connection getConnection() {
System.out.println("Conectando ao banco");
try {
return DriverManager.getConnection("jdbc:postgres://localhost/banco", "root", "");
} catch(SQLException e) {
throw new RuntimeException(e);
}
}
我喜欢知道如何模拟(Jmock)它,但 DriverManager 不是一个接口(interface),所以我无法模拟此类,那么我如何进行此测试?
最佳答案
我认为 mock 这一点没有意义。如果您的目标是测试是否可以连接到数据库,那么您要使用模拟来证明什么?在我看来,绝对没有。
通过建立连接、执行操作和回滚更改来测试您的持久性类。
一旦工作正常,在测试服务时模拟持久性类就非常合适,因为您已经测试了持久性内容。
但在我看来,你的提议太过分了。只需运行您的测试并继续即可。
关于java - 使用DriverManager测试数据库连接(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5737939/