登录
首页 >  Golang >  Go问答

禁止使用mockgen创建模拟

来源:stackoverflow

时间:2024-02-08 15:55:17 423浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《禁止使用mockgen创建模拟》,涉及到,有需要的可以收藏一下

问题内容

这是我的文件夹结构:

demo/
|-- go.mod
|-- main.go
|-- interfaces/
|   |-- interfaces.go
|-- mocks/

这是我的 go.mod 文件

go 1.20

require (
    github.com/golang/mock v1.6.0 // indirect
    golang.org/x/mod v0.4.2 // indirect
    golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
    golang.org/x/tools v0.1.1 // indirect
    golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
)

这是我的interfaces.go

package interfaces

type MyInterface interface {
    DoSomething() error
    GetValue() int
}

当我尝试运行mockgen命令时,它并没有创建模拟,而是给了我这个帮助描述: mockgen 有两种操作模式:source 和reflect。Source 模式从源文件生成mock 接口。它是通过使用 -source 标志启用的。在此模式下可能有用的其他标志是 -imports 和 -aux_files。

https://manpages.org/mockgen

我运行了以下命令:mockgen -destination=mocks/mock_myinterface.go -package=mocks demo/interfaces MyInterface

如何正确使用mockgen命令?


正确答案


您可能应该使用 Uber 维护的分支(因为 Google 放弃了 golang/mock):https: //github.com/uber-go/mock

如果您只是运行 mockgen 命令,您将获得命令选项。应该对您有用的东西是这样的:

mockgen -source interfaces/interfaces.go -destination mocks/mocks.go

理论要掌握,实操不能落!以上关于《禁止使用mockgen创建模拟》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>