解决 mockgen 的导入包冲突



我遇到包冲突,出现以下错误: mockgen -package=mocks -source=myproto.pb.go -destination=mocks/my_mocks.go imported package collision: "foo" imported twice

我看到一个显而易见的导入:import foo "blah/blah/foo"

但是我不知道从哪里开始追踪重复导入(也不知道它来自哪里(。对我来说,这是一个问题似乎很奇怪,因为我正在很好地导入myproto.pb.go,所以我想知道是否真的存在重复导入的问题。此外,GoLand没有显示任何问题。

我希望有人能指出我的方向,以获取有关重复导入从何处获取更多信息,检查是否存在问题和/或解决此问题。

这似乎是一个持续存在的问题。我只是遇到了它,它声称"rand"被导入了两次(即使我的代码没有导入"rand"(。

以下解决方法对我有用:写下您希望模拟的接口列表myproto.pb.go,并使用"反射模式"而不是"源模式">

mockgen -package=mocks -destination=mocks/my_mocks.go path.to/package/containing/myproto/pb/go [space-separated interface names]

应等效于您之前的调用:

mockgen -package=mocks -source=myproto.pb.go -destination=mocks/my_mocks.go

但由于某种原因更健壮,不会触发双重导入错误。

相关内容

  • 没有找到相关文章

最新更新