मैं अपनी रेल परियोजनाओं में से एक को Ruby 1.9.2
पर अपग्रेड करने का प्रयास कर रहा हूं। सब बहुत अच्छी तरह से चला गया, लेकिन एक आरएसपीसी परीक्षण तोड़ दिया। इस परीक्षण में मैं require
एक रूबी lib
:रूबी के साथ आरएसपीईसी में lib की आवश्यकता है 1.9.2 "लोड करने के लिए ऐसी कोई फ़ाइल नहीं" लाती है
# file spec/models/my_lib_spec.rb
require 'spec_helper'
require 'lib/services/my_lib'
describe "MyLib" do
it "should do something" do
...
इस तरह lib दिखता है:
# file lib/services/my_lib.rb
class MyLib
def self.do_something
...
रूबी 1.8.7 (REE) में परीक्षण अच्छी तरह से काम:
$ 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
में रुबी 1.9.2 मुझे एक त्रुटि मिली no such file to load
:
$ 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)
मेरे पास कोई सुराग नहीं है, जो lib को खोजने से रूबी 1.9 रखता है।
आपके उत्तर का अंतिम भाग कुंजी था! रूबी 1.9 _and_ रूबी 1.8 में "सेवा '/ my_lib' की आवश्यकता होती है। जाहिर है आरएसपीसी में $ libAD_PATH में 'lib' शामिल है। – DiegoFrings
बढ़िया! rspec '- मैं .' कुंजी मेरे लिए जब 1.8 से 1.9 के लिए गहरे लाल रंग का उन्नयन है। बहुत धन्यवाद @ फ्रोस्ट! आप 'मैं .' हर बार जब आप चलाने निर्दिष्ट करने के लिए नहीं करना चाहती –
तो' rspec' आप इसे अपने .rspec फाइल करने के लिए जोड़ सकते हैं और यह डिफ़ॉल्ट रूप से जोड़ दिया जाएगा। – bloudermilk