「忙しくてテストケースを書いてるヒマがない」
とは、よく聞く話。
(xUnitで言うところの)テストケースの重要性については議論の余地はないと思うし、書いた方が良いと思います。むしろ「忙しいからこそ書くべき」だと思う。
ただ、今日なんとなしに気づいたのは、
という大前提が、重大(構造化・カプセル化とか副作用・依存性とか)。
例えば、バグが見つかって、「直せ!」と怒鳴ったとき、
2タイプの反応があります。
一見、2.の方が信頼できる誠実な姿勢のように感じる。
けど、1.の人は、バグの原因と影響範囲を既に特定している。たぶんブラックジャックばりに、10分後にはフィックスしているのだろう。
(1.は仕事をナメてる、とか、そういうことは議論しない。)
1.はテストケースを書かないプログラマ、2.はテストケースを書けないプログラマだ。(この違い、わかります?)
・・・適当に表現してみたけど、言いたいことはそういうこと。
テストケースが書けるプログラムを組んで、テストケースを書かない。
これがテストケースの極みなのかもしれない。
(いや、ちゃんとテストケースは書きましょう。)