gomockの置き換え#256
Conversation
| bootstrap: | ||
| mkdir -p bin | ||
| GOBIN=$(PWD)/bin go install github.com/golang/mock/mockgen@latest | ||
| GOBIN=$(PWD)/bin go install go.uber.org/mock/mockgen@latest |
There was a problem hiding this comment.
既にgolang/mock を go install している人は、go generateした際にgolang/mock 側が使われる可能性があるので、そこまで対策する場合
//go:generate mockgen -source $GOFILE -destination mock/mock_history_gen/mock_history_gen.goを
//go:generate go run go.uber.org/mock/mockgen@latest -source $GOFILE -destination mock/mock_history_gen/mock_history_gen.goとするのも手かもしれません!
There was a problem hiding this comment.
そうですね!
もしくは生成時のオプションで、golang/mock or uber/mockのパスを指定できるようにしてもいいかもですね
GOBIN指定して./bin/などに入れている人もいるかもしれないので
uberの方強制でも良さそうですね
ファイルが大量にあることもあるので、毎回 go run させるのもな...と思ったりしてます!
There was a problem hiding this comment.
そういえば、 → 使われていない...?mockgen のパス指定オプションは存在しますね 🤔
https://github.com/go-generalize/volcago/blob/master/generator/generator.go#L57-L64
なんとかGOBIN を指定することができれば、uberのものを矯正することも出来そうなので少し試してみます!
There was a problem hiding this comment.
お、折角であればこのPRでそのまま作業してしまおうかと思いますがいかがでしょう?
吐き出されるコードの
//go:generate mockgen -source $GOFILE -destination mock/mock_history_gen/mock_history_gen.goのmockgen の部分をGenerateOption.MockGenPath に置き換える形で良いでしょうかね?
(ただ、その場合、uber/mock 対応とはまた別の趣旨になってしまいますね... 🤔 )
golang/mockがメンテナンス停止したため、uber.go/mockに変更しました。既に
go.modには入っていたため、Makefileの修正とgo mod tidyの実行後となります。よろしくお願いします!