本人最近才开始学习单元测试。目前许多博客上都只在讲单测的好处,以及测试框架如 Junit,Mockito 此类的使用。但是很少具体到单元测试的设计。所以有一些困惑:
- 如果写针对 dao 层的单元测试,应该测试哪些方面呢? sql 的正确性?参数的边界值?
- dao 层测试,需要 mock 数据库吗?如果 mock 了,是否就无法检测 sql 的正确性了?那 dao 层还有测试的必要性吗
- 有哪些可以学习关于单元测试编写思路以及设计方法的相关书籍推荐吗?
谢谢~

本人最近才开始学习单元测试。目前许多博客上都只在讲单测的好处,以及测试框架如 Junit,Mockito 此类的使用。但是很少具体到单元测试的设计。所以有一些困惑:
谢谢~
1 egglin Jan 8, 2021 dao 层我就不 mock 了 |
2 scxiazi Jan 8, 2021 dao 层我这边是用内存数据库跑 |
3 wysnylc Jan 8, 2021 黑盒测试 |
4 zoharSoul Jan 8, 2021 可以看一下 mybatis 源码里的单元测试 |
5 SuperXRay Jan 8, 2021 数据库直接操作,每个测试完毕回滚 |
6 zzzbkl Jan 8, 2021 via Android 数据库预置测试数据,单元测试靠 transactional 注解回滚 个人认为 dao 层单元测试还是有点必要的 |
7 raaaaaar Jan 8, 2021 via Android 直接看别人写好的,看别人写了些什么 |
8 seyoatda OP |
9 seyoatda OP 现在回望现在这个问题,也有了一些自己的理解。虽然在工作中进行 dao 层单测的实践不多。但是总结了这篇文章: https://www.cnblogs.com/JealousSky/p/16491690.html |