V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lazyfighter
V2EX  ›  问与答

业务单元测试

  •  
  •   lazyfighter · 2019-12-11 10:41:06 +08:00 · 1909 次点击
    这是一个创建于 1810 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教个问题,业务代码依赖 mysql,采用 mock 方式测不了 dao 层,不采用 mock 又会依赖 mysql,但是这样 testCase 怎么走 ci 呢

    12 条回复    2019-12-11 13:36:37 +08:00
    mcfog
        1
    mcfog  
       2019-12-11 11:35:50 +08:00
    db 一样可以 mock,但在此之前,很多人说“单元测试”的时候,其实说的是“自动化测试”,建议先搞清楚概念,这些东西为啥存在解决什么问题
    lazyfighter
        2
    lazyfighter  
    OP
       2019-12-11 11:40:28 +08:00
    @mcfog 你在说什么? 我在问什么?
    ayase252
        3
    ayase252  
       2019-12-11 11:43:54 +08:00
    猜的,
    测试业务代码时 mock dao.
    dao 的实现测 mysql
    11ssss
        4
    11ssss  
       2019-12-11 11:47:12 +08:00   ❤️ 1
    为什么不用 EmbeddedMysql ?
    lazyfighter
        5
    lazyfighter  
    OP
       2019-12-11 11:48:14 +08:00
    11ssss
        6
    11ssss  
       2019-12-11 11:49:09 +08:00
    beforetest 启动 EmbeddedMysql +Spring Boot Test 写好 sql 就可以了
    lazyfighter
        7
    lazyfighter  
    OP
       2019-12-11 11:49:45 +08:00
    @11ssss 目前找到了解决方法是嵌入的 mysql,就是想问问大家的方式
    mcfog
        8
    mcfog  
       2019-12-11 11:50:39 +08:00
    @lazyfighter 所以你自以为你在做单元测试,但其实不是,所以我建议你先搞清楚概念
    lazyfighter
        9
    lazyfighter  
    OP
       2019-12-11 11:56:13 +08:00
    @mcfog 你把我搞蒙蔽了, 我说的 ci 跑测试的意思是,在 ci 构建的时候,跑单元测试确保 commit 的代码没有问题,我没有说自动化测试,BTW 我确实对自动化测试不是很懂
    mikulch
        10
    mikulch  
       2019-12-11 11:56:30 +08:00
    嗯?我们都是自己往 sql 里面插入数据,然后跑完对应的 case 后删除的。
    lazyfighter
        11
    lazyfighter  
    OP
       2019-12-11 11:58:35 +08:00
    @mikulch 嗯 我现在就是 @before 构建数据 @after 删除数据,但是依赖 mysql,ci 构建的时候无法跑单元测试
    qnlrs
        12
    qnlrs  
       2019-12-11 13:36:37 +08:00
    ci 里弄个引入数据库镜像,sql 导入入临时数据库里面,用完销毁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:19 · PVG 00:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.