エキサイト株式会社 メディア事業部エンジニアの中です。
SpringBootでUTをやる方法をいくつか紹介しましたが、、、実際にはどこまでやればいいんだろうと、ちょっとポエムを記載します。
上記の記事にコントローラー、DB、外部APIを実行するテストの基本形を記載しています。
が、
が、
が、
果たして基本形だけで本当に良いのでしょうか?
例えば、
- コントローラー
- 画像ファイルをアップロードするなど、ファイルの送受信
- セッション情報の返却
- DB
- CRUDのそれぞれのテスト
- 複数のTBLを結合しているクエリ
- 外部API
- 画像ファイルをアップロードするなど、ファイルの送受信
- 実行するためにheaderやhostなど、設定が複雑
など、基本形のケースではないパターンがあります。
本当に全部やりますか?
大変じゃないですか?
UTにこだわると、コードは数分の修正で終わったのに、テストコードを修正するのに1日かかるとかあります。、、
非効率的じゃないですか?
UT100%は業務において、自己満足だと思います。
※ライブラリの提供など、例外あり
品質と効率のバランスをプロジェクトで認識合わせをした上でUTを進めないと、、、
間違っても
UT100%じゃないとリリースできない
みたいなことはやめましょう