登录
首页 >  Golang >  Go问答

常用的在代码中引入未使用的模块(尤其是mockgen)的技巧是什么?

来源:stackoverflow

时间:2024-03-10 11:33:26 341浏览 收藏

本篇文章给大家分享《常用的在代码中引入未使用的模块(尤其是mockgen)的技巧是什么?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我刚刚将所有现有项目切换为使用模块。在每个存储库中运行 go mod init 并添加我的私人依赖项后,我的 go.mod 如下所示:

module bitbucket.org/XXXXX/my-app

replace bitbucket.org/XXXXX/utilities => ../utilities

go 1.15

require (
    
)

除了模拟生成之外,一切正常,因为我实际上并未直接在代码中导入 mockgen (我通过 makefile 运行它)。

我想我可以将它添加到我的 require blob 中,并确保我的 makefile 在运行它之前显式调用 go mod download ,但我担心它会被 go 模块管理器破坏。我认为 go mod tidy 特别会摧毁它,因为它没有通过它关心的代码引用。

正确的做法是什么?我认为 go get 应该被弃用,所以我不能像现在一样继续使用它。


解决方案


一种流行的方法是创建一个带有构建标签的文件并进行下划线导入。请参阅 grpc-gateway 的示例

// +build tools

package tools

import (
    _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway"
    _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger"
    _ "github.com/golang/protobuf/protoc-gen-go"
)

今天关于《常用的在代码中引入未使用的模块(尤其是mockgen)的技巧是什么?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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