https://zenn.dev/kimuson13/articles/go_table_driven_test
Goでテーブル駆動テストを書いていると、書いているときは「すげー読みやすくテスト書けてるぞ!」と思っていても、落ち着いてから見てみると「なんだこれ...訳がわからん...」となることがあると思います。(自分はよくあります。)
この記事は、このようなことを解決するのに役立つtipsについてまとめています。主にテストケースについて焦点を当てています。
テストしやすいコード設計に興味がある方は
や
を参考にしてください。
この記事はパーソナライズGopher道場で学んだことを元に書いています。
そして、この記事で紹介するテーブル駆動テストの書き方は主観に基づいており、 あくまでテストの1つの書き方にすぎないです。
なので、「この書き方をしないとダメ!」というものではないので、みなさんの考え方やプロダクトに合わせて、柔軟にこの記事で紹介するtipsを取り入れていただけると幸いです。
さきに結論から述べると、
「テーブル駆動テストはテーブルとテストの部分でデータとロジックを分離する」
ということが、わかりやすくテーブル駆動テストを書く上で重要です。
そして、それを実現するために考えるべきことはテーブルでのテストケースの並び方です。 具体的には