跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 业务单元测试
未分類
16 6 月 2020

业务单元测试

业务单元测试

資深大佬 : lazyfighter 70

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

大佬有話說 (12)

  • 資深大佬 : mcfog

    db 一样可以 mock,但在此之前,很多人说“单元测试”的时候,其实说的是“自动化测试”,建议先搞清楚概念,这些东西为啥存在解决什么问题

  • 主 資深大佬 : lazyfighter

    @mcfog 你在说什么? 我在问什么?

  • 資深大佬 : ayase252

    猜的,
    测试业务代码时 mock dao.
    dao 的实现测 mysql

  • 資深大佬 : 11ssss

    为什么不用 EmbeddedMysql ?

  • 主 資深大佬 : lazyfighter

    找到了一篇采用的是内存数据库测试的,可以兼容 mysql,https://stackoverflow.com/questions/6734410/is-there-a-way-to-run-mysql-in-memory-for-junit-test-cases/14153007#14153007

  • 資深大佬 : 11ssss

    beforetest 启动 EmbeddedMysql +Spring Boot Test 写好 sql 就可以了

  • 主 資深大佬 : lazyfighter

    @11ssss 目前找到了解决方法是嵌入的 mysql,就是想问问大家的方式

  • 資深大佬 : mcfog

    @lazyfighter 所以你自以为你在做单元测试,但其实不是,所以我建议你先搞清楚概念

  • 主 資深大佬 : lazyfighter

    @mcfog 你把我搞蒙蔽了, 我说的 ci 跑测试的意思是,在 ci 构建的时候,跑单元测试确保 commit 的代码没有问题,我没有说自动化测试,BTW 我确实对自动化测试不是很懂

  • 資深大佬 : mikulch

    嗯?我们都是自己往 sql 里面插入数据,然后跑完对应的 case 后删除的。

  • 主 資深大佬 : lazyfighter

    @mikulch 嗯 我现在就是 @before 构建数据 @after 删除数据,但是依赖 mysql,ci 构建的时候无法跑单元测试

  • 資深大佬 : qnlrs

    ci 里弄个引入数据库镜像,sql 导入入临时数据库里面,用完销毁

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具