グローバルナビゲーションへ

本文へ

フッターへ

お役立ち情報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を使った方法などが紹介されています。

The following two tabs change content below.

竹内 和也

事業開発部 web application engineer
大学卒業後、Web系ベンチャー企業でシステムエンジニアを経て、2009年にアーティスへ入社。 システムエンジニアとして多くの大学・病院・企業・自社のwebシステム開発に携わる。 2020年より事業開発部として新規サービスの開発に従事している。 資格:LPIC3
この記事のカテゴリ

FOLLOW US

最新の情報をお届けします