https://zenn.dev/kimuson13/articles/go_table_driven_test

Goのテーブル駆動テストをわかりやすく書きたい

Goでテーブル駆動テストを書いていると、書いているときは「すげー読みやすくテスト書けてるぞ!」と思っていても、落ち着いてから見てみると「なんだこれ...訳がわからん...」となることがあると思います。(自分はよくあります。)

この記事は、このようなことを解決するのに役立つtipsについてまとめています。主にテストケースについて焦点を当てています。

テストしやすいコード設計に興味がある方は

を参考にしてください。

はじめに

この記事はパーソナライズGopher道場で学んだことを元に書いています。

そして、この記事で紹介するテーブル駆動テストの書き方は主観に基づいており、 あくまでテストの1つの書き方にすぎないです。

なので、「この書き方をしないとダメ!」というものではないので、みなさんの考え方やプロダクトに合わせて、柔軟にこの記事で紹介するtipsを取り入れていただけると幸いです。

結論

さきに結論から述べると、

「テーブル駆動テストはテーブルとテストの部分でデータとロジックを分離する」

ということが、わかりやすくテーブル駆動テストを書く上で重要です。

そして、それを実現するために考えるべきことはテーブルでのテストケースの並び方です。 具体的には