[技术交流] 大家所在的公司都是如何做 DAO 层的单元测试的?

2021-07-07 23:14:38 +08:00
 louchenabc

先分享下我在 DAO 层单元测试的经验:

[Java 开发实战] 高级工程师的自我修养之单元测试(一):DAO 层测试

大家所在的公司都是如何做 DAO 层的单元测试的呢?

1804 次点击
所在节点    程序员
7 条回复
Fu4ng
2021-07-07 23:17:43 +08:00
唉,一把辛酸泪。
由于历史原因,数据库对象文件和业务逻辑文件一个包里,每次要写单元测试就要在本地把这个包的依赖起一次。唉
Leviathann
2021-07-08 00:55:23 +08:00
很惭愧,没有 dao 的单测🐶
来学习下
xuanbg
2021-07-08 08:08:28 +08:00
只有接口粒度的单元测试,没有仅仅对某一方法或 DAL 的单元测试。
louchenabc
2021-07-08 09:30:05 +08:00
@xuanbg 这个其实属于集成测试,不属于单测。
chenqh
2021-07-08 11:21:57 +08:00
@xuanbg 我也是接口级别的测试, 我不管是不是单测, 我只知道我需要测试
fkdog
2021-07-08 22:01:12 +08:00
单元测试一般测试业务逻辑流程是否正常吧,比如各个分支路径是否覆盖正常、临界值是否正确。
dao 层大多都是代理类,你要测试基本也就测个 sql 是否正确吧。意义不大。
想测试的话,那就 test 类里注入 dao 对象,然后测试 dao 方法就行了。测试方法上加上 @Transactional 可以保证跑完方法自动删除测试数据。
louchenabc
2021-07-09 00:37:16 +08:00
@fkdog 是的,说的很好,DAO 层的测试一半只需要覆盖一小部分即可,本文就是针对这些需要覆盖的部分的一些方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX