sporkでrspecを高速化

sporkのインストール
group :test do
 gem 'spork'
end
bundle install

■設定ファイルの編集
Railsアプリのディレクトリに移動してbootstrap
cd rails_app_path/
spork --bootstrap

spec/spec_helperの編集
一通りSpork.prefork do・・・endに入れる
require 'rubygems'
require 'spork'

Spork.prefork do



ENV["RAILS_ENV"] ||= 'test'
require File.expand_path(File.join(File.dirname(__FILE__),'..','config','environment'))
require 'spec/autorun'
require 'spec/rails'

# Uncomment the next line to use webrat's matchers
#require 'webrat/integrations/rspec-rails'

# Requires supporting files with custom matchers and macros, etc,
# in ./support/ and its subdirectories.
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}

Spec::Runner.configure do |config|
 ・
 ・
end

Spork.each_run do
# This code will be run each time you run your specs.
end


■実行時オプションを追加
RSpec 1.3xx の場合spec/spec.opts
RSpec 2〜の場合 rails_app/.rspec
--colour
--drb

を追加

■テストのキャッシュを無効化
config/environments/test.rb
config.cache_classes = false

■時間を比較
sporkを起動
spork rspec

rspec spec
#sporkなし
real 0m19.560s
user 0m16.821s
sys 0m2.529s

#sporkあり
real 0m1.745s
user 0m0.680s
sys 0m0.180s



rake spec
time rake spec
#sporkなし
real 0m6.819s
user 0m4.363s
sys 0m1.173s

#sporkあり
real 0m4.991s
user 0m2.336s
sys 0m0.548s

rspecコマンドだと爆速になる。

参考:Kickstart Rspec with Spork | upstream agile - software
タグ:Rails RSpec spork TDD
posted by digital-squad at 2011年05月06日 16時23分 | Comment(0) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/199522761
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック