リア充爆発日記

You don't even know what ria-ju really is.

RubyMine+rspec + rspec-railsでテスト環境を作ったメモ

ここにステップが書いてあるよ。
http://www.jetbrains.com/ruby/webhelp/using-rspec-in-rails-applications.html

Depending on your particular version of Rails, different workflows are possible. If you are using Rails 3.0 and higher, it is recommended to use the bundler and specify rspec-rails gem in the Gemfile. Thus, RubyMine suggests the following workflow:

Railsのバージョンによっていろいろやり方があるけど、Rails3.0以上を使うならbundlerを使ってGemfileにrspec-rails gemを使う宣言をしたほうがいいよ。と書いてある。

bundlerはひとつ前の記事でインストールしたので、Gemfileうんたらのところをやってみる。
やり方はここに書いてあった。
http://www.jetbrains.com/ruby/webhelp/creating-gemfile.html

メイン画面のメニューからTools > Bundler > InitとやるとGemfileがプロジェクトルート直下にできるので、そこに

require 'rspec-rails'

と書く。するとジェネレータのところに

rspec:install

が出てくるはずなんだけどでてこない。ターミナルから直接コマンド叩くと動くんだけど、この時点でRubyMineが認識してないと後々いろいろめんどくさいことになりそうだなぁと感じたので、そこから数時間いろいろやった結果よくわからず、なんかの拍子に一回だけでたけど、手順をトレースしようとしたらでなかったのでターミナルから直接でいいや、と割り切った。

とりあえず仕切りなおしてやった手順は、

  1. プロジェクトもディレクトリごと一回全部消して
  2. gemもなんとなくgemsetごとごっそり消して
  3. gemset作りなおしてbundlerとrailsを入れて
  4. RubyMine起動してプロジェクト作って
  5. Gemfileの最後に↓を足してTools>Bundler>Installして
group :test, :development do
  gem "rspec", ""    "~> 2.6"
  gem "rspec-rails", "~> 2.6"
end

6.ターミナルでプロジェクトルートいって↓叩いて終わり。

$ script/rails g rspec:install

ここまで来てようやくチュートリアル動画の出番が来るわけです。以下多分全部英語のみ。

最初のチュートリアルにそってscaffoldを炸裂させるとRspec用のファイルも生成されてるのでさっきの件は問題ないかな。。
taskのショートカットツールはspecを認識しているのでテストは問題なく実行できたし、大丈夫か!

もし、specが認識されていなかったら
Tools>Rake Tasks>Reload Rake Tasks
してみるとよいかも。

Rspecの書き方とかはこのへんを読む予定だよ。

で、何つくろうとしてたんだっけ。。。