文章详情页
java - 单元测试对dao层的测试有什么好的实践方案?
浏览:261日期:2023-12-23 18:47:53
问题描述
比如对某个新增的dao进行单元测试,那岂不是要真的往数据库中插入一条数据?每次单元测试都新增一条数据?
还有,查询操作,返回一个List的对象集合,怎么判断数据是准确的呢?
对于单元测试,大家有什么好的实践方案吗?
问题解答
回答1:单元测试中使用数据库,可以考虑两种方案:
搭建一个长期使用的测试数据库,作为单元测试,测试开始前或完成后清空无关数据,即可保证测试的可重复性。缺点是多个人同时运行单元测试时,可能会失败。
使用内存数据库(如 H2)。优点是无需清空无关数据,缺点是要将数据库初始化过程(如建表语句)纳入单元测试中。如果初始化很复杂,也会影响单元测试的效率。
至于如何验证查询结果,基本上根据业务逻辑来。比如我单元测试运行到这里,查询这个一定会返回 27 条记录,那就验证返回记录数是否为 27。其他情况可以自己设计。
标签:
java
相关文章:
1. 请问一下用notepad++可以照着你这样来编吗?为什么我用notepad++编辑的时候那个容器那里颜色是黑的,不会像其他变量那样变颜色。2. python - 在sqlalchemy中获取刚插入的数据id?3. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么4. javascript - 如何判断不同两个对象触发同一事件?5. android - 京东移动端网页和其app加载的url所做的呈现不应该是完全一样的吗?6. python中生产者消费者线程问题7. 输入地址报以下截图错误,怎么办?8. javascript - js代码转python9. 站点内容复制额外增加的版权申明,真的很反人类。试问产品自己在用这个站点吗?10. 请教,关于python字典,合并相同值的键的实现方法
排行榜

网公网安备