なぜRSpecを書くのか、なぜテストを書くのか
Ruby、Rails界隈の伝道師、伊藤さんの発表スライドが公開されていましたので共有。
伊藤さんのスライド
スライドを見ての感想
最近はCircle CI等で常に自動テストして品質を保つことは、どこの現場でも行われているだろうと思います。そのため、普段あまりなぜテストを書くのか?と自問自答することはありませんが、スライドを読み立ち止まって考えてみました。私はテストコードは下記の大きなメリットを持っていると日々感じています。
仕様書となる
RSpec等のテストコードは、どういう条件下で、どう動くべきか、という形式で書かれています。そのため、初めてJoinするプロジェクトにおいて各機能の大雑把な仕様を把握したい場合、RSpecを読むことでキャッチアップすると捗ります。伊藤さんの仰る「7.説明書としての役割」がまさにそれです。
スライドでも書かれていますが、gemの使い方もRSpecから学ぶことが多々あります。メジャーなgemでもすべての機能が詳細にドキュメントに書かれているわけではなく、RSpecを見て初めて使い方が分かるという場面に何度も遭遇しています。逆にRSpecで詳細に記載されていて、完全に理解した!と叫ぶことも。