golang基础-单元测试与mock


当前第2页 返回上一页

client.go:

 package rpc  //go:generate mockery -name=Client type Client interface {     Get(key string) (data interface{}, err error) } type ClientImpl struct {     Ct Client } func (p *ClientImpl) Get(key string) (data interface{}, err error) {     if mockCondition  {         return p.Ct.Get(key)     }     // real logic } 复制代码

client_test.go

package rpc  import (     "fmt"     "test/mocktest/mocks"     "testing" ) type User struct {     Age  int      Name string } func TestMock(t *testing.T) {     convey.Convey("TestMock", t, func() {         mc := &mocks.Client{}         var u = &User{Age: 15, Name: "alice"}         mc.On("Get", "alice").Return(u, nil)         ci.Ct = mc         data, err := ci.Get("alice")         convey.So(data.Age, convey.ShouldEqual, 15)     }



本文来自:51CTO博客

感谢作者:mob604756e80bb7

查看原文:golang基础-单元测试与mock

返回前面的内容

相关阅读 >>

性能优化+架构迭代升级 Go读书社区web开发与架构优化

锁的使用场景主要涉及到哪些?读写锁为什么会比普通锁快【Golang 入门系列十六】

聊聊storagetapper的pool

Golang 如何并发

理解 Go 1.13 中 sync.pool 的设计与实现

Golang 1.9什么时候发布

Golang程序设计——函数

如何实现一个更全面的Golang版本的布谷鸟过滤器

Go的值类型和引用类型1——传递和拷贝

Golang如何编译

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...