/note/tech

驚くべきことに、プロジェクトが大きくなると動かしてみる手間がかかるからとやらない人が本当にいる

プログラム書いたらテストしようね → 何でもいいからためしに動かして動作確認ふつうするやろ

驚くべきことに、プロジェクトが大きくなると動かしてみる手間がかかるからとやらない人が本当にいる。自動テストを実践するかどうかというレベル以前に

ほんと素朴に、テストしようってこれやねん

@tanakahisateru

できる人でもやっぱりでかいプロジェクト試すの面倒は面倒よ。まあやるけどさぁ。だから、変更箇所の単体テストでOKにしたいわけ。で、単体テストっていうのは、画面まで遠すぎるやつは、ライブラリをコードで呼び出して済ませたいわけ。それには、TDD で設計するのが早いよってだけの話

@tanakahisateru

きれいな TDD で設計してあると、アプリケーション全体のつながりを切り離せるんよね。サードパーティのライブラリは画面ないけどそのライブラリの単体テストで信用して使ってるじゃん? それと同じような完全切り離しを自分のコードでもなるべくやっておこうぜというのが「テスト書こうね」のほう

@tanakahisateru

切り離せてない部品をいくらコードで呼び出してても、それは手作業の試行錯誤と同じことをわざわざコードにしてるのと同じだから、テストをしていると言うことはできても、「単体テストを書いている」には入らないよね。ってぐらい幅の広い話が「テスト」の一言でまとめられてるのはなんかなぁと思って

@tanakahisateru

流石に動作確認はやってくれとしか言いようがない。

とはいえ、「それなりに大きく育ってるけど、ユニットテストが無いから手動で画面をポチポチする以外にテストの方法がないアプリ」を目の前にして心が折れるのは正直分かる。

更に正常系ではなくイレギュラーケースだと本当にダルい。

DBにテストデータを入れたりする事前準備だけで1日潰れることも多々あるのだ。

そういう場合は大抵最初に作った奴はとっくに退職して行方を眩ましているという...