- 追加された行はこの色です。
- 削除された行はこの色です。
&pgid;
**このページは? [#n3541592]
下記のネタを元にRspecについて勉強してみるページです。
-Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
http://jp.rubyist.net/magazine/?0021-Rspec
-File: TUTORIAL.ja
http://kakutani.com/trans/rspec/TUTORIAL_ja.html
今回は第3回ということで前回までの続きです。
前回でRspecの使い方までをご説明しました。
今回はRspecをRuby on Rails上で使う方法をご紹介します。
-第一回はこちら
[[Ruby on Rails/第12回勉強会 - Rspec概要]]
-第二回はこちら
[[Ruby on Rails/第13回勉強会 - Rspecを使ってみる]]
#blikimore
**目次 [#wd9223a3]
#contents
**日時 [#xf19520d]
- 2007/10/26(金)
**参加者 [#b239fcd8]
** 動画 [#mba5fc42]
*本編 [#v60241bf]
**インストール [#x5533373]
-Ruby on RailsでRspecを利用する場合、以下の二つのインストールが必要です。
--Rspec自体
--Rspec on Rails
$ ./script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec
...略...
$ ./script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec_on_rails
...略...
**必要なファイルの生成 [#n826be9f]
-Rspec on Railsのインストール後、以下のコマンドを実行する必要があります。
$ ruby script/generate rspec
-作成されたファイル、ディレクトリの説明
--testunitのディレクトリ構成との比較
-specコマンドの説明
spec/
スペックファイルを配置するルートディレクトリです。Rails 標準のテスティング環境の test/ ディレクトリに相当します。
spec/spec_helper.rb
RSpec を Rails で使用するためのヘルパです。アプリケーションに共通する RSpec 関連の処理を記述します。Rails 標準のテスティング環境の test/test_helper.rb に相当します。
sepc/spec.opts
Rake 経由で RSpec を実行する際に、spec コマンドへ渡すオプションを設定します。
script/spec_server
Rails 環境をロードしたテスト用の dRuby サーバを起動します。テストの実行を速くすることが目的です。次回以降の連載で言及します。
script/spec
開発対象の Rails アプリケーション用の spec コマンドです。スペックファイルを指定して実行する場合に使用します。
-参考:RSpec on Rails でインストールされる rake タスク
http://jp.rubyist.net/magazine/?0021-Rspec#l54
-RSpec on Rails のテスト用ディレクトリ構成
http://jp.rubyist.net/magazine/?0021-Rspec#l55
**サンプルを動かしてみる [#h6df9bf3]
へー、model作成とかのコマンドも変えるんだ。
***今回のサンプルについて [#e2b48e17]
-modelのスペックを記述します
-Blog
***準備 [#oa252101]
-database.ymlの編集
-サンプルではsqlliteを使ってるみたいですが、一般的なmysqlを使ってやってみます。
--ですので、database.ymlを編集します。
--かつdatabaseを事前に作成します。
***Blogモデル [#h3d28b63]
-モデル作成
$ ruby script/generate rspec_model Blog name:string
-マイグレーションファイルを編集する
-データベースを更新する
$ rake db:migrate
-fixtureの用意
-スペックを定義する
-specテスト一回目
-モデルを実装する
***Entryモデル [#xe8758f3]
-モデル作成
-マイグレーションファイルを編集する
-データベースを更新する
-フィクスチャを編集する
-スペックを定義する
-モデルを実装する
sqllite3とmysql
**まとめ [#q3eb2f4e]
**まとめ [#n529f97b]