gomonkey是golang的一种打桩框架,目标是让用户在单元测试中低成本完成打桩,从而将经历聚焦于业务功能的开发。gomonkey接口友好,功能强大。另外,goconvey是一种针对golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,支持多WEB界面特性。
gomonkey适用场景如下:支持为一个函数打一个桩
支持为一个成员方法打一个桩
支持为一个全局变量打一个桩
支持为一个函数变量打一个桩
支持为一个函数打一个特定的桩序列
支持为一个成员方法打一个特定的桩序列
支持为一个函数变量打一个特定的桩序列
下载
gomonkey以及goconvey下载方法:
go get github.com/agiledragon/gomonkey
go get github.com/smartystreets/goconvey
ApplyFunc
接口定义:
func ApplyFunc(target, double interface{}) *Patches
ApplyFunc 第一个参数是函数名,第二个参数是桩函数。测试完成后,patches 对象通过 Reset 成员方法删除所有测试桩。待补充示例
ApplyMethod
接口定义:
func ApplyMethod(target reflect.Type, methodName string, double interface{}) *Patches
ApplyMethod 第一个参数是目标类的指针变量的反射类型,第二个参数是字符串形式的方法名,第三个参数是桩函数。测试完成后,