RSpecチュートリアルやってみる

2008年02月22日 20:46
トラックバック (0)   コメント (0)
前々回、せっかくRSpec入れたのになんもやってないので、今回はRSpecでなんかやる

で探してみたら、こちらでRSpecのチュートリアルが紹介されていましたので、これをやっていきます。

RSpecのバージョンが古くて、そのままじゃ動かないとのことですが、だがそれがいい

何も考えずにやっちゃうとコピペになっちゃうしね。

それじゃあ行ってみましょう。

■ Mastermind? コードブレイカー?

残念ながらこれがどんなゲームなのかがわからないので、ぐーぐる先生に聞いてみました。

マスターマインド - Wikipedia

いまいちわからないけど、要は相手がどこに何色のピンを置いたかを当てればいいらしい。

■ 前準備

このチュートリアルをやるには、以下のものが必要
・Ruby
・RubyGems
・RSpec (gemで入ってればOK)

■ スタート

チュートリアルそのままじゃ動かないので、いろいろいじりながらいきます。
まずはディレクトリとかベースになるファイルとか作る。

mastermind/specs/
mastermind/src/
mastermind/mastermind.rb

mastermind.rb
require 'rubygems'
require 'spec'
■ その1
specs/all_white_code_spec.rb
require File.dirname(__FILE__) + '/../mastermind'

describe "An all white code with an all white guess" do
  before do
    all_white_code = Mastermind::Code.new(:white, :white, :white, :white)
    all_white_guess = Mastermind::Code.new(:white, :white, :white, :white)
    @score = all_white_code.mark(all_white_guess)
  end
  
  it "should score 4 black pegs" do
    @score.black.should == 4
  end
end
context => describe
setup => before
specify => it
should_equal 4 => should == 4
それぞれこんな感じで修正

ここでrspecを実行すると、Mastermindなんてないよって怒られる。requireしてないんだから当然だけど
src/code.rbを作成してあげる
module Mastermind
  class Code
  end
end
で、このファイルを読み込みたいので、mastermind.rbに以下の一行を追加する
require File.dirname(__FILE__) + '/src/code'
チュートリアルには require '/src/code' って書いてあるけど、それだとtextmateからspecを実行できないので絶対パスで指定するようにする。


その後はチュートリアルに従って進めていく。score.rbにblackというメソッドを定義して、4を返すようにしたところで、RSpecに怒られなくなりました。score.rb作ったらmastermind.rbで読み込むのを忘れないように。

ここで一区切りらしいので、先は次回に

押忍
最新エントリー
カテゴリ
月別のアーカイブ
プロフィール
吉見和也(Kazuya Yoshimi)
RAWHIDE.(ローハイド.)取締役兼最高技術責任者。Rubyで開発する心地よさに惚れ、Ruby道を邁進する日々。迷わず行けよ、行けばわかるさ、Ruby道。押忍!
Powered by
 

企画特集

グリーンITの第一歩は見える化ですグリーンITの第一歩は見える化です
経営・財務・情報システムの3つの視点から環境対応を考える
これからの時代のセキュリティ対策これからの時代のセキュリティ対策
くるぞ!in the cloudソリューション
ERPパッケージの導入を成功させるコツERPパッケージの導入を成功させるコツ
成功させるコツをクイズ形式のWebcastで配信中
ZDNet Japan Green ITZDNet Japan Green IT
サミットだけでは終わらせない!エンタープライズの取り組みはこれからだ!
エンタメCGM「gooメーカー☆メーカー」エンタメCGM「gooメーカー☆メーカー」
【第2回】メーカー/占いのコンテンツを作ってみた!
Techno ExchangeTechno Exchange
RackableとCTCの地球にやさしい関係
ココが変わった、新型「ニンテンドーDSi」--「ニンテンドーDS Lite」と比較
任天堂が11月1日に発売する新型ゲーム機「ニンテンドーDSi」はどんな点が新しいのか。既存のニンテンドーDS Liteと比較するとともに、新機能を紹介する。
フォトレポート:本体が分離するNTTドコモの「セパレートケータイ」の謎に迫る
NTTドコモは家電展示会「CEATEC JAPAN 2008」において、端末が2つに分離できる携帯電話「セパレートケータイ」を展示している。どのような仕組みなのか、何ができるのかを、写真で紹介する。
話題のスマートフォン、写真で見るBlackBerry Bold
RIM製スマートフォン「BlackBerry」の新モデル「BlackBerry Bold」を2008年度第4四半期にも発売すると発表したNTTドコモ。話題のBlackBerry Boldを写真で紹介する。