RubyMineでRSpec + Sporkを動かしデバッグする

タイトル通り、RubyMindeでRSpecをSporkサーバ上で動かし
デバッグする手順についてです。

Sporkサーバ上でRSpecを動かすと、RSpecの起動が早くなります。

以下、手順です。

■下準備
1.RubyMineでRails Applicationを作成する。

2.「Rails Application Settings」で「Skip Test:Unit files」にチェックを入れる。

3.Gemfileに以下を追記し、bundle installする。


gem 'therubyracer'
gem 'execjs'

group :development,:test do
gem 'rspec-rails'
gem 'spork', '1.0.0rc3'
end

4.RSpecをinstallする。
$ rails generate rspec:install

5.Controller、Viewを作成する。
$ rails g controller sample index

6.routes.rbに以下を記入し、index画面をルートページとする。


root 'sample#index'

7.アプリを起動し、ブラウザよりindex画面が表示されることを確認する。

■Sporkサーバの準備
1.[Tools]-[Run Spork DRb Server...]を押下する。

2.[Spork DRb Launch]ダイアログにて、[Choose test framework]は[RSpec]を選択する。
 [Perform bootstrap]に初回はチェックを入れ、[Run]を押下する。
 (初回以外はチェックを入れない)

3.コンソールに[pork is ready and listening on 8989!]と表示され、Sporkサーバーが
 起動していることを確認する。

4.[Run]-[Stop]を押下し、一旦Sporkサーバを停止する。

5. .rspecファイル内に以下を追加し、RSpecの起動オプションとしてSporkサーバを指定する。


--drb

RSpec、Sporkの起動とデバッグ
1.[Run]-[Debug]を押下し、[Debug]ダイアログより[RSpec with Spork DRb server:アプリ名]を押下する。

2.コンソールに[pork is ready and listening on 8989!]と表示され、Sporkサーバーが
 起動していることを確認する。

3.RSpecやController内にブレークポイントを設定する。

4.[Project]ウィンドウより実行したいRSpecファイルを右クリックし、[Debug 'Run spec・・・]を押下し
 RSpecを起動する。

5.ブレークポイントにて処理が止まることを確認する。