###前提・実現したいこと
rubyのrequireに関して質問があります。
dir 1のような構成でTestを分割したいのですが、
dir 2のような構成にしないとテストができないので困っています。
なぜエラーメッセージがLoadError: cannot load such file -- ./globalなのでしょうか?
###ディレクトリ構成
dir 1 => 理想としては以下の様な構成にしたいが、テストが上手くいかない
<dir 1> - project --- main --- first.rb | | | |- global.rb | | -- test --- test.rb
dir 2 => テストはできるが、構成が気に入らない
<dir 2> - project --- main --- first.rb | |- global.rb |- test.rb
###発生している問題
- first.rb
require "./global"
-
global.rb (requireなし)
-
dir 1の時のtest.rbのrequire
require 'test/unit' require "../global"# => true require "../first"# => LoadError: cannot load such file -- ./global
- dir 2の時のtest.rbのrequire
require 'test/unit' require "./global"# => true require "./first"# => true
###エラースタック
~> LoadError
~> cannot load such file -- ./global
~>
~> /Users/myname/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in require' ~> /Users/myname/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require'
~> /Users/myname/Desktop/testRuby/first.rb:1:in <top (required)>' ~> /Users/myname/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in
require'
~> /Users/myname/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in require' ~> /var/folders/w8/tp2v81_s3f3g44st06_hgy0c0000gn/T/seeing_is_believing_temp_dir20170127-97227-10ughmu/program.rb:3:in
<main>'
###補足情報(言語/FW/ツール等のバージョンなど)
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]
回答2件
あなたの回答
tips
プレビュー