golang 单元测试框架

自动化生成测试方法:

gotests

https://github.com/cweill/gotests

 

1. 数据库 mock

https://github.com/DATA-DOG/go-sqlmock

2.go check 框架:

http://labix.org/gocheck

3.

ginkgo 框架

https://www.oschina.net/p/Ginkgo?hmsr=aladdin1e1

 

    . "github.com/onsi/ginkgo"
    . "github.com/onsi/gomega"
 

 

Go 写测试必学的三个库:Ginkgo、testify和GoMock

 

https://blog.csdn.net/goodboynihaohao/article/details/79392500

 

 

4.各个框架的主要用途

convey 主要用途是用来组织测试用例的

gomock 主要用来给接口打桩的。mockgen可以生成对应的接口测试文件。

gostub 主要用来给变量、函数、过程打桩 但是给函数打桩时,需要做侵入式修改

monkey 主要也是用来给变量、函数打桩的

gostub打桩的原理式通过反射,所以要求调用stub函数传入第一个参数必须是指针,然而函数并没有指针的概念,所以需要对函数做侵入式修改。

monkey打桩的原理则是在运行时通过汇编语句重写可执行文件,将待打桩函数或方法的实现跳转到桩实现,原理和热补丁类似。但是moneky不是线程安全的,不能用在并发测试中

对于以上几个框架,简书上有大神已经做了详细介绍了

下面给出链接

convey

https://www.jianshu.com/p/e3b2b1194830

gomock

https://www.jianshu.com/p/f4e773a1b11f

monkey

 https://www.jianshu.com/p/2f675d5e334e

gostub

https://www.jianshu.com/p/70a93a9ed186

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值