はじめに 開発者であれば誰しも、「できるだけバグの少ないコードを書きたい」と思っていると思います。 また、実際にバグの多いコードに苦しんだ経験があるのではないでしょうか。自分自身もそのひとりです。 修正したはずの箇所で別の不具合が起きたり、「どこを変更すると何が壊れるのか」がわからなくなったり、特にコード量が多いと、「たぶん動いているけど、本当に大丈夫だろうか」という不安を抱えながら開発を進めることもあると思います。 そんな中で単体テストを書く機会があり、「そもそも単体テストとは何なのか」「どのように書けばよいのか」という疑問を持ちました。 そこで単体テストについて調べていく中で、「テスト駆動開発(TDD)」という言葉にたどり着きました。 「テスト駆動開発(TDD)」と聞いて “テストを書いてから実装をする開発手法”という説明はよく見かけます。しかし、有名なエンジニアたちが口をそろえて「T

