Ben Ruby 1.9.2
benim Raylar projelerinden biri yükseltmeye çalışıyorum. Her şey yolunda gitti, ama bir RSpec testi bozuldu. Bu testte ben require
Ruby lib
: BöyleRuby 1.9.2 ile RSpec içinde lib gerektirir "Böyle bir dosya yüklemek için" getiriyor
# file spec/models/my_lib_spec.rb
require 'spec_helper'
require 'lib/services/my_lib'
describe "MyLib" do
it "should do something" do
...
lib görünüyor:
# file lib/services/my_lib.rb
class MyLib
def self.do_something
...
Ruby 1.8.7 (REE), test iyi çalıştı:
$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin11.1.0], MBARI 0x6770, Ruby
Enterprise Edition 2011.03
$ rspec ./spec/models/my_lib_spec.rb
..
Finished in 1.4 seconds
2 examples, 0 failures
yılında
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]
$ rspec ./spec/models/my_lib_spec.rb
/Users/tmangner/.rvm/gems/[email protected]/gems/activesupport-
3.2.2/lib/active_support/dependencies.rb:251:in `require': no such file
to load -- lib/services/my_lib (LoadError)
: Yakut bir hata
no such file to load
almak 1.9.
Hiç bir fikrim yok, Ruby 1.9'un lib'i bulmasını engelliyor.
Cevabınızın son kısmı önemliydi! "require 'service/my_lib'" Ruby1.9'da ve _1_ Ruby1.8'de çalışır. Açıkçası RSpec, $ libAD_PATH içine 'lib' içerir. – DiegoFrings
harika! ruby'yi 1.8'den 1.9'a yükseltirken rspec '- I. çok teşekkürler @Frost! –
Eğer "rspec" yi her çalıştırdığınızda '-I. 'Belirtmek istemezseniz, bunu .rspec dosyanıza ekleyebilirsiniz ve varsayılan olarak eklenecektir. – bloudermilk