java - Hibernate:测试道
问题描述
我的项目是一个具有核心 java 和 hibernate 的遗留项目。这里没有编写单元测试。在这种情况下测试的最佳策略是什么?
PS如果我使用mockito,那么我将无法测试我的查询,所以我不想使用任何Mock测试框架(例如Mockito、EasyMock、PowerMock)等。我可以编写junits,但它们将再次击中我真正的db.I已考虑在内存数据库中使用。
解决方案
使用内存数据库编写数据库测试是一种常见的方法(尽管它们被认为是集成测试)。但是您需要考虑一些优点和缺点:
优点:
你不应该考虑清理。
您可以以任何您需要的方式设置数据库。
处理这样的工作环境很容易。你不需要安装任何额外的东西。
缺点:
您用于测试的数据库是不同的。
交易可能无法进行。
DB 对象可能不起作用。
某些 sql 结构可能不起作用。
因此,考虑到所有缺点,我建议使用安装了 DB 的docker容器。每次您将拥有干净的数据库时,您都不应该关心数据清理,而且这将与您在 prod 中的数据库完全相同。
推荐阅读
- c - 如何在 gcc 中创建 makefile
- mongodb - mongodb 集合中所有条目的嵌套值的计数
- c - 你能解释一下这种计算平均噪声的算法吗
- java - 从 RecyclerView 中删除未使用的项目
- c - gcc wordexp不使用Linux IFS环境变量用于拆分单词的Posix C库函数
- flutter - 从颤振中的电话号码中提取国家代码
- c++ - 有没有办法将这些功能与 openMP 并行?
- pytorch - 在 MESS 中使用 pytorch 的 Tensorboard
- sql - 如何按名称访问redshift SQL函数中的输入变量
- javascript - 如果 Nodejs 发生错误,如何停止执行其余部分并返回错误消息?