へい、マスター!いつものやつ!🍻 ああ、聞いてくれよ、最近の若い衆ときたらよぉ…って、まあ、俺もそんなに変わんねぇか!
で、なんだっけ?ああ、そうそう、ユニットテストだよ、ユニットテスト! これ、やっとかないとマジで夜も眠れねえんだわ。
なんでユニットテストがそんなに大事かって?そりゃあ…
人間だもの、ミスるっしょ? 🤷♂️
いや、マジで。どんなに気をつけてても、指が一本多かったり少なかったり、コピペミスしたり…神様じゃねえんだからよ、絶対ミスるんだって。徹夜明けなんてもう、何書いてるか自分でも分かんねえ時あるしな!そんなんで作ったモンがまともに動くと思うか?思うわけねえよなぁ!
メソッド単位でシメれるのがいいんだよ、ユニットテストはよぉ! 🔬
こまけぇ話はいいんだよ。要は、作った部品(メソッドってやつだな)一個一個がちゃんと動くか、そいつだけをいじめて確認できるのがユニットテストなんだわ。他のヤツのせいに出来ねえからな。バグが見つかったら、そいつが悪いって一発で分かる。分かりやすいだろ?
人間の目で見るテストなんざ、たかが知れてるぜ? 🙄
お前さん、もし手作業でテストするってなったらどうするよ?画面ポチポチして、期待通り動くか見るだろ?そりゃあ、いわゆるE2Eテストってやつだ。大事だよ、それも。でもな、それだけじゃ中身の細かいとこまで見えねえんだわ。氷山の一角ってやつよ。水面下で何が起きてるか、分かったもんじゃねえ。
組み合わせの罠、ユニットテストがあれば怖くねえ! 🧩
考えてもみろよ。機能Aと機能Bがあって、それぞれ単体では問題なくても、組み合わせたらバグるなんて日常茶飯事だろ?でもよ、ユニットテストで部品の品質がある程度担保されてれば、組み合わせのテストパターンだって減らせるってもんだ。全部の組み合わせを人力でやるなんて、日が暮れちまうぜ?ユニットテスト様々よ、ホント。
ま、なんだ。酔っぱらいの戯言だと思ってくれてもいいけどよ。ユニットテストを書かないコードは、時限爆弾抱えてるようなもんだってことだけは覚えとけ。後で泣きを見るのは、未来の自分だからな!
じゃあ、マスター、もう一杯! 🍺