go - 如何设置模拟函数的返回值?

标签 go gomock

我正在使用 gomock为单元测试创​​建模拟对象。下面为模拟对象提供了一个名为 GetQuestionById 的方法,并告诉模拟 Controller 期望使用参数 1 调用该方法:

gw.EXPECT().GetQuestionById(1)

但我如何指定模拟方法应返回特定值?

最佳答案

当您调用 gw.EXPECT().GetQuestionById(1) 时,它最终会调用模拟 Controller 上的方法 RecordCallRecordCall 返回一个 CallCall 有一个名为 Return 的方法,它完全符合您的要求:

gw.EXPECT().GetQuestionById(1).Return(Question{1, "Foo"})

关于go - 如何设置模拟函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602959/

相关文章:

go - 在 Go 中创建具有约束的自定义类型

go - 提供标准库 (crypto/tls)

unit-testing - 如何在 golang 中注入(inject)一个 url 到 httptest.server?

go - 在反射模式下使用mockgen

unit-testing - 在 Go 单元测试中使用两个不同的模拟

go - 方法类型定义的语法辅助?

go - Go 中的文件路径

go - 如何理解golang内存模型中的channel通信规则?

go - 查找模块的版本

unit-testing - 是否可以选择使用类似于 mockito argument captor 的东西?