RSpec を実行した時にモジュールがロードされない問題
メモ。
環境が rvm を使っていて、とあるライブラリを gem を利用してインストールしてある環境で、RSpec を使ってテストを書いている時にブチ当たった現象。
# なお当方 Ruby | RSpec 初心者
作っているモジュールのテストコードを書いていて、とあるモジュールが gem install でインストールしたライブラリを require している。
toaru_module_spec.rb
# -*- encoding: utf-8 -*- require 'spec_helper' require 'toaru_module'
toaru_module.rb
# -*- encoding: utf-8 -*- require 'install_shita_gem_lib'
で、RSpec を走らせると
`require': cannot load such file --
とか言われた。
RSpec じゃなくて Ruby として実行すると普通に動作する。
全く理由が分からなくて結構ハマったけど原因は install_shita_gem_lib ライブラリを Gemfile に書いてなかったみたい。
Gemfile にライブラリの名前とバージョンを書いたらちゃんと動いた。
RSpec は実行時に Gemfile の中身みるのかな。