登录
首页 >  Golang >  Go问答

为什么mockgen会生成文件中的所有接口?

来源:stackoverflow

时间:2024-04-03 20:39:35 120浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《为什么mockgen会生成文件中的所有接口?》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我有一个带有接口的包

package worker

import "context"

//go:generate mockgen -source interfaces.go -destination mock-interfaces.go -package worker Doer

type (
    Doer interface {
        Do(ctx context.Context) error
    }

    LazyThing interface {
        Rest(ctx context.Context) error
    }
)

我假设仅为 doer 接口生成模拟类。但我总是受到嘲笑。

如何限制已处理接口的列表?


正确答案


在命令中使用 -source interfaces.go 时,您将启用生成器的源模式。

您需要提供从完全限定包名称导入符号 doer 的表单

类似于:

//go:generate mockgen -package worker -destination mock-interfaces.go github.com/yourhandle/worker Doer

然后它应该只从包中选择该符号,而不是全部。

今天关于《为什么mockgen会生成文件中的所有接口?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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