[Go言語]テストコードの書き方3~包含的テスト~

前回は、APIテストについて解説しました。

今回は、包括的なテスト方法について解説したいと思います。

Ginフレームワークの導入

Go言語のフレームワークであるGinをインストールしましょう、

Ginフレームワークによる実装

以下のフォルダとファイルを作成してください。

app.goには、プログラムのスタートトリガーを記述します。

url_mappings.goには、ユーザーリクエストの処理先を指定します。

locations_service.goには、ビジネスロジックを組み込みます。ここではCountry Idを引数に、欲しいCountry情報を取得する処理を書きます。

最後にlocations_controller.goを書きます。

それでは、main.goに以下の記述をして、プログラムを実行してみましょう。

以下のコマンドで、プログラムを実行してください。

別のterminalを立ち上げて、curlを実行してみてください。ちなみに、countryIDとして、ARを渡しています。

無事、取得できましたね^^

包含的なテスト

ようやくテストができる状態になりましたので、包含的なテストをしましょう。

包含的なテストってなんだ?と思われているかもしれませんが、単純にこれまで作成した機能を詰め合わせたテストです。

以下のファイルを作成してください。

ここには、Ginで作成したControllerと前回解説したMockのテストを組み合わせたテストを記述します。

テストを実行してみましょう。

Passしました!

終わりに

Go言語に限らず、プログラミングではテストコードを書くことがもはや当たり前の時代になりつつあります。

私も現場でテストコードを書いていますが、まだまだ適切なテストコードがかけているわけではありません。

日々、改善点を見つけ、より良いテストコードをかけるように奮闘中です。

特にMockが難しく感じていますね。

テストコードを書くことは難しいですが、道具は使い込めば使い込むほど、手に馴染んでいくものです。

もっとテストコードを書いて、慣れていけばいいと思います。

それでは、また!

コメントを残す