🔖
gomockの導入と簡単な記述例
このページでは、gomockの導入と実用例について記述します。
はじめに
GomockはGo言語向けのモック生成ライブラリであり、テスト駆動開発(TDD)やユニットテストを行う際に役立ちます。この記事では、Gomockの導入方法と実用例について解説します。
Gomockの導入方法
1. Gomockのインストール
最初に、Gomockをインストールします。ターミナルで以下のコマンドを実行します。
go install github.com/golang/mock/mockgen
2. プロジェクト内での利用
プロジェクトの任意のディレクトリで、以下のコマンドを実行してモックを生成します。
mockgen -source=interface.go -destination=mock.go
これにより、指定したソースファイルからモックファイルが生成されます。
Gomockの実用例
(1) モックしたいインターフェースを定義します。
type MyInterface interface {
Add(x int, y int) (z int)
}
(2) インターフェースからモックを生成するには、mockgen を使用します。
(3) テストでモックを使用します:
func TestMyThing(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockObj := something.NewMockMyInterface(mockCtrl)
mockObj.EXPECT().Add(4, 2).Return(6)
}
コントローラーは、模擬エコシステムのトップレベルのコントロールを表します。
モック オブジェクトの範囲と有効期間、およびその期待値を定義します。
複数のゴルーチンからコントローラーのメソッドを安全に呼び出すことができます。
各テストでは、新しいコントローラーを作成し、deferで Finish を呼び出す必要があります。
まとめ
GomockはGo言語のテストを効果的に行うためのツールであり、インターフェースのモックを簡単に生成できます。
参照
Discussion