package
0.0.0-20240225144602-310d7a4f38fa
Repository: https://github.com/syunkitada/programming_go.git
Documentation: pkg.go.dev
# README
mock1
- mockgen を利用する
$ go get github.com/golang/mock/mockgen
使い方
- 対象コードに Interface を定義しておく
- mockgen -source program.go -destination mock_program.go
# 実行例
$ mockgen -source client/client.go -destination client/mock_client.go
go generate から mockgen を使う
- 一般的には、mockgen を直接実行するのではなく、go generate を使う
- go generate とは
- コマンドラインから go generate ./... と実行すると
- 対象コードから //go:generate から始まるコメント行を検索し //go:generate command argument... というコメント行をそのまま実行してくれる
- 任意のコマンドを実行できるが Go のコードを生成することを想定して作られている
- 対象コードの一番上に以下のコメント行を書いておき、go generate を実行する
- //go:generate mockgen -source=$GOFILE -destination=mock_$GOFILE -package=$GOPACKAGE
# 実行例
$ go generate ./client/...
test を実行してみる
$ go test ./...
ok github.com/syunkitada/go-samples/test-sample/mock1 0.010s
? github.com/syunkitada/go-samples/test-sample/mock1/client [no test files]
# Packages
Package client is a generated GoMock package.