■
ちょっとずつ。
http://rspec.rubyforge.org/tutorials/stack_01.html
単純なスタック‐最初の仕様
スタート地点はどこから?
TDDでしているように一番簡単な例からはじめましょう。重要で微妙な違いはありますが、BDDはTDDの中核にあたるものなのですから。Overviewで検討しましたが、共通して言える最初の仕様は、新しいスタックは空であるべきであることで、たいていスタックが空かどうかはサイズが0であることでチェックすることです。この単純さこと求めていたものですが、「サイズ」という質問は避けたいですね。知りたいのは空かどうかであってサイズではないのですから。
空であるかどうかをどのように調べるにしろ、ひとついえることは、新しく作ったスタックは空であるべき、だということでしょう。そこで最初の仕様を「新しいスタックは空であるべき(“A new Stack should be empty”)」とします。
スペックファイルの作成
まずはstack_spec.rbを/projects/ruby/stack/に作りましょう。ファイル名は任意ですが、以下はこの名前とパスを使用するものと仮定します。
コンテキストを追加する
以下の文をstack_spec.rbに追加しましょう。
context "A new stack" do
endコンテキストは既知の状態を表すオブジェクトです。これはxUnitにおけるfixtureと同様のコンセプトです。希望する状態から期待する振る舞いの例を作ってコンテキストを追加します。
どうなるか見るためにコマンドシェルを開いて/projects/ruby/stack/に移動し、以下のように入力してください。
$ spec stack_spec.rb