Hatena::ブログ(Diary)

ema25の日記

2011-05-20

RSpecとRcov導入

テスト駆動開発(test-driven development; TDD)なりビヘイビア駆動開発 (behavior driven development; BDD)では振る舞いの規定だとかデバッグ効率な意味でテストコードの作成は不可欠。今回はそんなこんなでテストフレームワークRSpecと、RSpecの出力結果をまとめてくれるRCovの導入を書く。


RSpec

Test::Unitを使わないので

$ rails new depot -T

でプロジェクトを作る。すでにプロジェクトをつくってしまった場合には、

$ rm -rf test

で消してしまう。

./Gemfileに

gem 'rspec-rails'

を書いて、

$ sudo bundle install

bundleにインストールさせましょう。


プロジェクトにrspecインストールする

$ rails generate rspec:install

以降から、作ったコントローラ等にrspec用のコードがでる。

すでに作ったものにたいして、RSpecの雛形を追加する場合は

$ rails generate rspec:controller users index

てな感じでRSpecコードを追加する。(余談ですがusers_controllerなのにuser indexって書いて単数と複数系の違いで1時間ぐらいつんのめった...)

実際にテストするときは以下で。

$ rake spec


Rcov

./Gemfileに

gem 'rcov'

を書いて、

$ sudo bundle install

bundleにインストールさせましょう。

$ rake spec:rcov

coverage/index.htmlひらくと結果が出ます。

f:id:ema25:20110520205640p:image



参考

http://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA

http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%98%E3%82%A4%E3%83%93%E3%82%A2%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA

テスト駆動開発のテストは、テストか?−TDD から BDD へ

http://d.hatena.ne.jp/takihiro/20100922/1285116278

http://mitukiii.jp/2010/12/16/rspec-use-on-ruby-on-rails3/

http://jp.rubyist.net/magazine/?0023-Rspec

http://rakuto.blogspot.com/2006/11/rails-rspec-on-rails.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ema25/20110520/1305892647