こんにちは。 マイクロアドで機械学習エンジニアをしている大庭です。 今回の記事では Go で TableDrivenTest を書く上で重要になってくる subTests の使い方を紹介します。 subTests subTests は Go1.7 から追加された1つのテスト関数の中に階層を作るための機能です。 subTests を利用するメリットとしてはテストケース毎に正否判定を行える、特定のテストケースのみ実行できる、テストの並列実行ができるなどが挙げられます。 subTests の基本的な使い方 はじめに subTests の基本的な利用方法を subTests ありなしのコードを比較する形で実装例を紹介します。 例として足し算をする関数Addのテストを示します。 テスト失敗時の結果を見るために4つ目のケースは失敗するようにしています。 まずは subTests なしで書いたテストです
![GoのsubTestsを活用したTableDrivenTest - MicroAd Developers Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/c08d931ac9bc5d7f6f594d00a88d2e927bbbedca/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Foba_atsushi%2F20230706%2F20230706103612.png)