ビジネスとIT活用に役立つブログBlog


gomockでGoのインターフェースのmockを作成してテストを実行する

この記事をシェアする:

今回はGoのmockフレームワークであるgomockの使い方を紹介したいと思います。

gomockとは、Go言語用のmockフレームワークで、組み込みのテストパッケージと合わせて利用するライブラリです。

インストール方法

テスト対象のサンプルコード

gomockを使わないで自分でmockを用意した場合のテスト例

テストの実行

gomockを使った場合のテスト例

mockの生成

まずmockファイルを配置するためにmockディレクトリを作成します。

次に対象ファイルを-sourceに指定し、作成したmockの出力先を-destinationに指定してmockgenコマンドを実行します。

すると以下のようなmockファイルが生成されます。

MockApiClient構造体ががApiClientインターフェイスを実装しているのがわかります。

mockを使ったテストの実装

テストの実行

上記のテストケースでRequestメソッドをコールしなかったり、引数が”bar”でなかった場合にエラーを発生させてくれます。

まとめ

gomockの基本的な使い方をご紹介しました。 今回のような簡単なケースではあまり効果を実感しづらいと思いますが、 大量のテストケースがある場合や複雑なmockを作成する必要がある場合などには便利かと思います。

gomockにはまだまだ便利なメソッドが用意されているので公式のドキュメントを確認してみてください。

また、都度mockファイルを生成するのが面倒な場合はgo generateを使った方法などが紹介されています。


この記事のカテゴリ:

SNSで最新の情報を
受け取ることができます!