我使用 Oracle 作为我的数据库,使用 Spring Boot 作为我的框架。
我不知道如何编写测试用例来检查数据库查询? 我听说可以通过内存数据库实现。但是找不到合适的例子。
假设在我的代码中我编写了一个 SQL 查询 SELECT * FROM tableName
并且它返回了一个 ResultSet 对象。
那么在编写测试用例时我该如何检查呢?
每次我不想进入数据库并获取查询时。
我知道这是可能的,但我的问题是如何用我将存储在任何文件中的虚拟结果替换我的查询结果。
提前致谢
最佳答案
您应该使用另一个使用 H2 内存数据库的 hibernate 配置初始化您的 Hibernate SessionFactory
,例如 test-hibenate.properties
:
hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.connection.url=jdbc:h2:mem:orm
javax.persistence.schema-generation.database.action=drop-and-create
然后在您的测试中,您可以以常规方式使用您的 DAO。
如果您使用纯 JDBC,您可以通过这种方式创建到 H2 内存数据库的连接:
Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", "", "");
并且您将需要 H2 数据库依赖项: https://mvnrepository.com/artifact/com.h2database/h2
关于java - 如何使用内存数据库编写测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49337822/