This link has been bookmarked by 26 people . It was first bookmarked on 29 Sep 2007, by ema ame.
-
11 Jan 13
-
21 Sep 11
-
08 Jun 11
-
以下のコマンドで最新版の Rspec を gem パッケージとしてインストールできます。
-
RSpec を実行してみます。spec コマンドの引数として振舞を定義したスペックファイルを与えると RSpec を実行できます。
-
$ gem install rspec
-
spec コマンドに、先ほど作成した array_spec.rb を引数として渡すことで RSpec を実行できます。
-
RSpec の実行
-
RSpec は、実行結果の色づけを標準でサポートしています。
-
$ spec array_spec.rb ..
-
2 examples, 0 failures
-
テストの実行に失敗した場合のエラー メッセージの読み方
-
- 1: 何番目の失敗かを表す (ここでは 1 番目) 。
- 2: describe メソッドと it メソッドの引数から自動的に生成されたメッセージ
- 3: example では [{:cat => "Nuko"], {}, {}] という Hash の配列を期待した (expected) のに、
- 4: 得られた結果 (got) は [{:cat => "Nuko"}, {:cat => "Nuko"}, {:cat => "Nuko"}] という配列だった。using は結果の比較に使ったメソッドです (ここでは ==)。
- 5: 実行に失敗した行数 (ここでは 26 行目)
-
specdoc 形式とは、先程のエラーメッセージでも利用されていた、describe メソッドと it メソッドの引数を活用して、 RSpec の実行結果を「仕様書風」に出力するものです。
-
日本語を使っても書けます。
-
it "#empty? は true であること" do
-
before メソッドと after メソッドはそ れぞれ、Test::Unit における setup メソッドと teardown メソッドに相当します。
-
example の前処理/ 後処理を記述するためのフック
-
before/after を振舞のレベルで 1 度だけ実行
-
before(:all) do
-
before(:each) do
-
エクスペクテーション (expectation) とは、example のブロックに記述され る、「プログラムに期待する動作や動作結果」
-
should_not はその逆
-
result.should == 37 false.should_not be_nil ['A','B','C'].should_not include('D') lambda { [1,2,3] + 4 }.should raise_error(TypeError)
-
should/should_not は、Object に対する拡張なので、Class を含めたあらゆるオ ブジェクトで利用できます。
-
RSpec では、次の演算子をマッチャとして利用できます。
-
should は、レシーバがマッチャ (matcher) で記述する条件を満たすこと の期待
-
10.should < 11
-
RSpec on Rails は、RSpec を Rails で使うための Rails プラグインです。
-
RSpec プロジェクトのサイトでは、 RSpec on Rails をインストールする際には、RSpec 本体も Rails プラグインとしてイン ストールすることが推奨されています。
-
RSpec on Rails は、実行時には、gem パッケージでインストールされている RSpec よりも、プラグインとしてインストールされた RSpec を優先して使用しま す。このおかげで、gem パッケージの RSpec を開発対象の Rails アプリケーション とは独立してバージョンアップできます。
-
# RSpec自体をプラグインとしてインストールする $ ruby script/plugin install http://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec # RSpec on Railsをインストールする $ ruby script/plugin install http://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec_on_rails
-
script/generate コマンドで rspec 用のジェネレータが使える
-
ruby script/generate rspec
-
-
08 Nov 08
-
24 Jul 08
-
19 May 08
-
28 Jan 08
-
08 Oct 07
-
03 Oct 07
-
30 Sep 07
-
29 Sep 07
-
ここで先回りして FAQ です。この FAQ への短い答えはイエスです。 しかし、その「書き方」が人の思考を変えてしまうことを、Rubyist の皆さんはよく知っている と思います。 この連載は、この FAQ への長い答えです。お楽しみいただければ幸いです。
-
TDD では、プログラム (プロダクトコード) を書くにあたって、まずテストコード を書きます。そして、テストの実行が失敗することを確認してから、テストコー ドをパスするようにプロダクトコードを書く
-
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.