java - 使用DriverManager测试数据库连接(java)

标签 java junit mocking

我目前正在尝试测试(单元测试)一个连接到数据库的类,请参阅代码:

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/

相关文章:

java - jpa hibernate 一对一更新

java - 在Java中断言一个集合有一个项目的多个实例?

eclipse - 在 Eclipse 中哪里可以找到 JUNIT_CONTAINER 的值?

java - Maven 找不到要运行的 JUnit 测试

java - 在Java中创建最小二叉搜索树(BST)

Java 未实例化类列表

java - Powermock 框架如何创建模拟对象?

mocking - Wiremock URL匹配逻辑

java - 在 java 中模拟静态方法编写单元测试

java - 如何使用 GSON 解析漂亮的 JSON