サイト更新情報
[Categories]
agile | angularjs | barbecue | birthday | body scoop | car | chuork01 | dinner | domin life | drive | event | fes | fishing | friend | gunpla | javascript | life | lunch | photo | ps3 | rails | ruby event | sake | software-development | sports snowboard | study event | sushi | sweets | techmix-hokkaido | torne | travel | vegetable garden | vim | weight training | whiskey | work

Ogagaga Diary


2011年05月04日 みどりの日 [長年日記]

RSpec勉強 の続き

モデル編の写経が終わりました。使いこなすにはもっと修行が必要なことがわかったけど、テストを先に書いてから実装コードを書く流れはつかめたので、スラスラと書けるように努力していこうと思います。特にマッチャの種類が多かったり、どれを使ったらいいのかということに注力して勉強していこうと思います。

以下はRails3でのコマンドメモと設定ファイルメモ(記事のRailsは2系なので)

Gemfile

group :test do
  gem 'rspec-rails', '>= 2.0.0.beta.22'
end

application.rb

以下を記述しないとfixturesが作成されない

   config.generators do |g|
     g.test_framework :rspec, :fixture => true
   end

RSpec on Rails のインストール

gem install rspec-rails

Rails プロジェクト作成

-TはTestUnitを入れない、-dでMySQLを指定

rails new myblog -d mysql -f -T

RSpec on Rails 用ファイルの生成

rails g rspec:install

Model 作成

rails g rspec:model Blog name:string
rails g rspec:model Entry

RSpec 実行

rspec -fs -c spec/models/blog_spec.rb
rspec -fs -c spec/models/entry_spec.rb

before_save の DEPRECATION WARNING 対応

 before_save :fill_posted_on
 def fill_posted_on
   self.posted_on ||= Date.today
 end
[]