前言
常用的go语言测试框架包括Convey、Stub、Mock、Monkey等,用过之后发现比较好用的是Convey+Monkey,Convey是作为外层框架,Monkey可以为函数、方法等打桩,这里介绍几个Convey+Monkey的使用例子。
安装
go get github.com/smartystreets/goconvey
go get github.com/bouk/monkey
运行完后你会发现,在$GOPATH/src/目录下,新增了github.com/smartystreets/goconvey、
github.com/bouk/monkey框架源代码。
使用场景
使用场景主要包括:
基本场景:为一个函数打桩;
基本场景:为一个过程打桩;
基本场景:为一个方法打桩;
为一个函数打桩:
对我来说,为一个函数打桩应该是最常用的场景。
例子:
MockJson是一个工具函数,读取对应的json文件反序列化,实现很简单,代码如下所示:
func MockJson(filename string, m interface{}) (err error) {
var buf []byte
buf,