サイトアイコン 演劇とかの感想文ブログ

rspec実行時に、「cannot load such file –spec_helper」が出た時の対処法

久しぶりにrubyのテスト環境(rspec)を利用しようとして、嵌ったのでメモ。

前に使っていたのが、rspecのヴァージョン2だったが、今回はヴァージョン3を使った。そのため、幾つかのルールや手順が変わったようだ。

 

目次

1.gem install だけでは、rspecは使えない。

前回のruby環境の設定の記事(「macでruby」)の最後で、ちょこっとrspecのインストールを行って終わった気になっていました。で、適当なspecファイルを作って実行したところ、以下のようなエラーが。


/Users/kseikaku/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- spec_helper (LoadError)
後略

うーん。素直に読めば、spec_helperなるファイルが読めないとのこと。なんだ?これ。

 

2.Rspecを使うための初期処理(rspec –init)が必要。

色々ネットを検索しまくってみて、どうやら2→3のメジャーバージョンアップに際して、rspecを使う前に、rspec –initなる処理を行い、spec_helper.rbというファイルを生成する必要がある模様。

以下、「RailsじゃないRspec3環境を構築する方法」を参考に環境を構築して見た。(この記事自体1年以上前の記事。時代遅れな俺orz)

 

2.1 まずは、Rspecを利用するフォルダを作成

とりあえず書類(Documents)フォルダに、dev>ruby>sandbox>helloフォルダを作成

2.2 そのフォルダで、bundlerを初期化して、rspecをインストール。

 % bundle init

Gemファイルが生成されるので、その内容から以下の1行を削除

#gem "rails"

その上で、以下のの1行を追加。

#gem "rspec",">=3.4.0"

(参考にしたHPでは、3.0.0でしたが、最新をいれたいので、3.4にしました)

ここで、bundleを使ってインストール

% bundle install

2.3 rspecの初期化

以下のコマンドでrspecの初期化を実行。

bundle exec rspec --init

これで、rspecの実行ができるようになりました。

モバイルバージョンを終了