gomock-Golang的官方mock工具

2019-07-29  本文已影响0人  蚂蚁窝大梦想

GoMock是Go编程语言的模拟框架。它与Go的内置测试包很好地集成,但也可以在其他环境中使用。

gomock主要包含两个部分:"gomock库"和“ 辅助代码生成工具mockgen

Installation

Once you have installed Go 【已设置$GOPATH/bin】, run these commands to install the gomock package and the mockgen tool:

go get github.com/golang/mock/gomock
go install github.com/golang/mock/mockgen

获得帮助

go doc github.com/golang/mock/gomock

在线参考package gomock

mockgen工具--生成mock类文件

mockgen有两种操作模式:source and reflect(源文件和反射)

源模式

通过包含interface定义的文件生成mock类文件,通过 -source 标识生效,-imports 和 -aux_files 标识在这种模式下也是有用的。
Example:

mockgen -source=foo.go [other options]

反射模式

通过构建一个程序用反射理解接口生成一个mock类文件,
它通过传递两个非标志参数来启用:导入路径和逗号分隔的符号列表(多个interface)。
Example:

mockgen database/sql/driver Conn,Driver
//注意:第一个参数是基于GOPATH的相对路径,第二个参数可以为多个interface,并且interface之间只能用逗号分隔,不能有空格。

mockgen支持的选项如下:

案例1:
mockgen -destination spider/mock_spider.go -package spider -source spider/spider.go
案例2:
mockgen -package=mocks -destination model/repository/mocks/redis_repository.go github.com/api/model/repository IRedisgRepository

使用mock对象进行打桩测试

上一篇 下一篇

猜你喜欢

热点阅读