これは、asumikam #phpcon_odawara Advent Calendarの16日目の記事です🎄 本日は「単体テストを書かない技術」の感想を書いていきます!
📖 スライド speakerdeck.com
感想
めちゃくちゃ自分が書いたたのしみどころを引用してしゃべってくれていてわらいましたww(ありがとうございます)
とても目を引くタイトルですが、きんじょうさんのつたえるところは「サボって書かない」ということではなく、「不要なアサーションはさぁ、減らしていこうぜ」というところでした。また、きんじょうさんの引用していた本「単体テストの考え方/使い方」にも「テスト・コードを含めたすべてのコードは負債だからな!!」と書いてあったのを思い出したりしました。書けば書いたもん勝ちじゃないのよ!みたいなパッションを伝えてくれていました。
「テストコード書け!書くんだ!」と各所で言われますが(自分も言っている気がする)、1番のコアはソフトウェアであり、それらとは別にコアを支える存在があり、単体テストというのはHowでしかない。 言われてみれば当たり前なのですが、めちゃくちゃ大事なことだな〜、とブッ刺さりました。 だからこそ、プロダクトコード側でしっかりと「入力されうるものを減らす」ことで、テストコード、もっと言えば全体のコード量が減って洗練されたコードになっていきそう。
▲ 登壇中では時間の都合でスキップされていた部分ではありますが、どのようなものが「不要なアサーション」になるか、というのもちゃんとHowToを書いてくれています。いや〜まさにその通りなものばかり・・・。
"名付けをする"、概念を型に落とし込めるだけで不要なものはどんどん減らせるのは、それは本当にそう(SHS)ですね。 これらをプロダクトコードに書くだけで、意味をなさないテスト、意味をなさないコードが減るのはめちゃくちゃ良いことですので・・・。
あとは、「興味ねぇ〜部分のアサーションは要らねぇから!!」みたいなのも、それは本当にそう(SHS)。 自分はここに似た感情を「アサーションでうまく表現しような!!」と語ったのですが、そもそも君要らんくない?はちゃんと問うていきたい、と思いました。
きんじょうひできさん、登壇ありがとうございました
「ンッ!?」と目をひくタイトルのトークでしたが、期待を超えてめちゃくちゃ良い話で最高でした!!
77webさんの オープン・クローズドなテストフィクスチャを求めて をみたよ / asumikam #phpcon_odawara Advent Calendar - #あすみかんの上にあすみかん はarrange
を適切に減らそうぜ〜で、きんじょうさんはassert
を適切に減らそうぜ〜、のような対比になっていて、タイムテーブルこうしてよかったなあ〜、としみじみ思いました。
そして、マジで毎月のように登壇してましたね〜、2024年。 きっと、2025年も走り抜けるのだろう、きんじょうさんは。
ちょこまかついていくぞ!!!!!来年もよろしくおねがいします!!!!🤝