文章详情页
java - 单元测试对dao层的测试有什么好的实践方案?
浏览:146日期:2023-12-23 18:47:53
问题描述
比如对某个新增的dao进行单元测试,那岂不是要真的往数据库中插入一条数据?每次单元测试都新增一条数据?
还有,查询操作,返回一个List的对象集合,怎么判断数据是准确的呢?
对于单元测试,大家有什么好的实践方案吗?
问题解答
回答1:单元测试中使用数据库,可以考虑两种方案:
搭建一个长期使用的测试数据库,作为单元测试,测试开始前或完成后清空无关数据,即可保证测试的可重复性。缺点是多个人同时运行单元测试时,可能会失败。
使用内存数据库(如 H2)。优点是无需清空无关数据,缺点是要将数据库初始化过程(如建表语句)纳入单元测试中。如果初始化很复杂,也会影响单元测试的效率。
至于如何验证查询结果,基本上根据业务逻辑来。比如我单元测试运行到这里,查询这个一定会返回 27 条记录,那就验证返回记录数是否为 27。其他情况可以自己设计。
标签:
java
相关文章:
1. javascript - 按钮链接到另一个网址 怎么通过百度统计计算按钮的点击数量2. sql语句 - 如何在mysql中批量添加用户?3. node.js - mysql如何通过knex查询今天和七天内的汇总数据4. 事务 - mysql共享锁lock in share mode的实际使用场景5. mysql - PHP定时通知、按时发布怎么做?6. mysql - 数据库建字段,默认值空和empty string有什么区别 1107. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。8. mysql 非主键做范围查找实现原理的一点困惑9. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集10. mysql 可以从 TCP 连接但是不能从 socket 链接
排行榜
