• 请不要在回答技术问题时复制粘贴 AI 生成的内容
louchenabc
V2EX  ›  程序员

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

  •  
  •   louchenabc · Jul 7, 2021 · 2440 views
    This topic created in 1792 days ago, the information mentioned may be changed or developed.

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

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

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

    7 replies    2021-07-09 00:37:16 +08:00
    Fu4ng
        1
    Fu4ng  
       Jul 7, 2021
    唉,一把辛酸泪。
    由于历史原因,数据库对象文件和业务逻辑文件一个包里,每次要写单元测试就要在本地把这个包的依赖起一次。唉
    Leviathann
        2
    Leviathann  
       Jul 8, 2021
    很惭愧,没有 dao 的单测🐶
    来学习下
    xuanbg
        3
    xuanbg  
       Jul 8, 2021
    只有接口粒度的单元测试,没有仅仅对某一方法或 DAL 的单元测试。
    louchenabc
        4
    louchenabc  
    OP
       Jul 8, 2021
    @xuanbg 这个其实属于集成测试,不属于单测。
    simple2025
        5
    simple2025  
       Jul 8, 2021
    @xuanbg 我也是接口级别的测试, 我不管是不是单测, 我只知道我需要测试
    fkdog
        6
    fkdog  
       Jul 8, 2021
    单元测试一般测试业务逻辑流程是否正常吧,比如各个分支路径是否覆盖正常、临界值是否正确。
    dao 层大多都是代理类,你要测试基本也就测个 sql 是否正确吧。意义不大。
    想测试的话,那就 test 类里注入 dao 对象,然后测试 dao 方法就行了。测试方法上加上 @Transactional 可以保证跑完方法自动删除测试数据。
    louchenabc
        7
    louchenabc  
    OP
       Jul 9, 2021
    @fkdog 是的,说的很好,DAO 层的测试一半只需要覆盖一小部分即可,本文就是针对这些需要覆盖的部分的一些方案。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1455 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.