2016-10-26 43 views
0

我正在爲我的模型進行重構 - 我要將我的紅寶石模型移動到另一個位置。RSpec測試:將模型移動到其他位置後測試失敗

我的ruby文件,規範文件上的位置和夾具文件 -

app/models/facebook_information.rb 
spec/models/facebook_information_spec.rb 
spec/fixtures/facebook_information.yml 

如果我把我的模型在這條道路我RSPEC測試運行平穩。

但我已經到這個移動到

app/models/facebook/facebook_information.rb 

我想我要移動其他文件,如規範和夾具文件夾的Facebook讓我感動。新目錄看起來像現在 -

spec/models/facebook/facebook_information_spec.rb 
spec/fixtures/facebook/facebook_information.yml 

運行RAILS_ENV=test bundle exec rspec spec/models/facebook/facebook_information_spec.rb 後,我得到以下錯誤 -

  Failures: 

      1) Facebook::FacebookInformation validation success 
      Failure/Error: Unable to find matching line from backtrace 
      Errno::ENOENT: 
       No such file or directory @ rb_sysopen - /Users/raj.sharma/Desktop/Ibiza/spec/fixtures/facebook_information.yml 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixture_set/file.rb:33:in `read' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixture_set/file.rb:33:in `rows' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixture_set/file.rb:24:in `each' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:742:in `block (2 levels) in read_fixture_files' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixture_set/file.rb:15:in `open' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:741:in `block in read_fixture_files' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:740:in `each' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:740:in `each_with_object' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:740:in `read_fixture_files' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:586:in `initialize' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:512:in `new' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:512:in `block (2 levels) in create_fixtures' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:509:in `map' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/fixtures.rb:509:in `block in create_fixtures' 
      # /Users/raj.sharma/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:293:in `disable_referential_integrity' 

請幫助。

回答

0

您可以在facebook_information.yml來自Facebook的文件夾中移動只是想:

規格/夾具/ facebook_information.yml

+0

我累了,但我仍然得到錯誤,但不同的一個。 – RajSharma

+0

'沒有這樣的文件或目錄@ rb_sysopen -/Users/raj.sharma/Desktop/Ibiza/spec/fixtures/facebook_information.yml' 表示它正在查找fixtures文件夾中的facebook_information.yml文件,但沒有找到它。 確保您的文件路徑。 –

+0

如果我將fixture文件移動到/Users/raj.sharma/Desktop/Ibiza/spec/fixtures/facebook_infor mation.yml比我得到Mysql2 ::錯誤:表'ibiza_test.facebook_facebook_information'不存在:SHOW FULL FIELDS FROM'facebook_facebook_information'錯誤。在這種情況下,它正在尋找ibiza ibiza_test.facebook_facebook_information,但我的表是ibiza_test_facebook_information。 – RajSharma