しながらコードを書く。スマートフォン用の表示で見るびくんびくんしながらコードを書く。2019の1日目の記事です。今回はGoでテストを書くときのちょっとしたtipsのご紹介です。当記事で紹介しているコードは下記githubRepositoryで公開しています。github.comTableDrivenテストGoではTableDrivenなテストを推奨しています。TableDrivenとは超絶簡単に表現するとIN/OUTなんかのテストケースを配列で表現し、ループでテスト回そうぜ!みたいな感じです。実際にはstructのsliceを利用し、Tableを表現します。}これで検証する部分はループを使えます。}テストケースの名前付け上記で提示したテストの場合、テストがfailした場合、どのケースでテストが失敗したか分かりづらい状態です。少数のテストケースの場合、今の状態でもあまり大きな問題にはなりませんが、テストケースが多い場合、辛くなることが予想されます。付与し、下記の実装のようにエラー時に名前を出力する方法もありますが、次のsectionで説明するサブテスト化を行ったほうが有効です。}これでtestがfailのときにテストケースが出力されます。}SubTest化するテストケース名をエラー出力に出す方式ではなく、SubTest化してテストを実施する方法です。サブテスト化する前までのテスト結果は下記のような出力となります。サブテスト化したコードは下記のようになります。}}testing.T.Runを使いサブテスト化します。そのさい、第一引数にテストケース名を指定します。これを実行すると、下記のような実行結果になります。(0.50s)各テストケースがパスしたかどうかがかなり見やすくなったかと思います。特定のサブテストのみを実行する場合は下記の通りです。0.513sこのようにサブテスト化するメリットは多いと思います。並列テストにつてはボリュームが多くなりそうなので明日、別の記事にて記載したいと思います。Goのテストに関して、下記記事が非常によくまとまっているためより詳細に知りたい場合は下記を確認することをおすすめします。Goのテストコードを並列化する。(1)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。