これは何? 会社で RSpec を使った、BDD を行っているのて理解の為にまとめてみました RSpecってんなんぞ?? 一言でいうと、BDD の為の DSL 日本語でおk DSL ドメイン固有言語 やりたい事に特化した言語 今回の場合は、BDD に特化した言語(実際には、gem を使った Ruby の拡張) BDD 振舞駆動開発(behavior driven development) プログラムの振舞(≒要求仕様)を先に書く開発手法 っていうと普通だけど、その振舞がテストコードにもなる そのための DSL が RSpec BDDの歴史 XPのテスト駆動開発(TDD) ↓ テストにより、逆に仕様が明確化 ↓ テストってある意味要求仕様と同一だよね ↓ 自然言語で書かれれば、いろいろ便利だよね ↓ DSLの開発(RSpec等) ↓ BDD BDDだと何が得? TDDより、テストコードが可読