我使用Oracle作为我的数据库,Spring Boot作为我的框架。
我不知道如何编写测试用例来检查数据库查询? 我听说有可能通过内存数据库。但是找不到合适的例子。
假设在我的代码中我编写了一个SELECT * FROM tableName
的SQL查询,它正在返回一个ResultSet对象。
因此,在编写测试用例时,我该如何检查?
每次我都不想进入数据库并获取查询。
我知道这是可能的,但我的问题是如何用虚拟结果替换我的查询结果,我将存储在任何文件中。
提前致谢
答案 0 :(得分:1)
您应该使用另一个使用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