[Go言語]Table Driven Testsをより簡単に実装する方法!

こんにちは。KOUKIです。

Go言語を使って、Webアプリケーション開発をしています。

今日は、Table Driven Testsを簡単に実装できるgotestsをご紹介しようと思います。

WorkSpace

ワークスペースを作成してください。

Table Driven Testsって何?

Table Driven Testsは、テストコードの重複をできるだけ少なくするテスト手法の一つです。

例えば、以下のコードがあるとします。

この関数に対してテストコードを書きます。

このテストは実行後、以下の結果を得られます。

このままでも問題ありませんが、検査したい値が増えたときは、テストケースが増え、コードの重複が目立つようになります

この問題を解決するテスト手法の一つが、Table Driven Testsというわけです。

こんな感じで実装します。

TestCaseという構造体を用意して、テストデータをスライスで保存しました。

これでだいぶコードがスッキリしましたね^^

gotestsを使ってみよう!

Table Driven Testsは大変便利でそれだけでも強力な武器になりますが、gotestsと組み合わせるともっと実装が楽になります。

まずは、gotestsを以下のコマンドでインストールしましょう。

次に、以下のコマンドでテストコードを自動出力します。

cucl_test.goを確認してみましょう。

Test_plus関数が、自動生成したコードです。めちゃくちゃ簡単に、テストコードが実装できましたね^^

おわりに

gotestsには他にもオプションがあるので、色々試してみようと思います。

しかし、「gotests -all -w culc.go」を知っておけば、もう本当に便利ですね^^

ガンガン活用していきましょう!

それでは、また!

Go記事まとめ

Goおすすめ書籍

コメントを残す