2013-07-09 138 views
1

我在山獅的軌道4.0和ruby 2.0環境內使用mongoDB v2.4.5的Mongoid 4.0。當我運行我的RSpec的測試:我得到Mongoid ::錯誤:: NoSessionsConfig:錯誤,當我運行rspec

require 'spec_helper' 

# This is a sample spec file, showing an initial effort to document a Ruby 
# class or module (in this case, the Array class) based on the documentation 
# at http://ruby-doc.org/. 
describe Array do 

    describe '#new' do 
    it "should return the empty array" do 
     let(:array) { Array.new(3) } 
    end 
    end 

end 

這是我得到

An error occurred in an after hook 
    Mongoid::Errors::NoSessionsConfig: 
Problem: 
    No sessions configuration provided. 
Summary: 
    Mongoid's configuration requires that you provide details about each session that can be connected to, and requires in the sessions config at least 1 default session to exist. 
Resolution: 
    Double check your mongoid.yml to make sure that you have a top-level sessions key with at least 1 default session configuration for it. You can regenerate a new mongoid.yml for assistance via `rails g mongoid:config`. 

Example: 
  development: 
    sessions: 
      default: 
        database: mongoid_dev 
        hosts: 
          - localhost:27017 


    occurred at /usr/local/var/rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/bundler/gems/mongoid-06b708d37cde/lib/mongoid/sessions/factory.rb:61:in `create_session' 

這裏是我的mongoid.yml

development: 
    # Configure available database sessions. (required) 
    sessions: 
    # Defines the default session. (required) 
    default: 
     # Defines the name of the default database that Mongoid can connect to. 
     # (required). 
     database: dev_myApp 
     # Provides the hosts the default session can connect to. Must be an array 
     # of host:port pairs. (required) 
     hosts: 
     - localhost:28017 
     options: 
     # Change whether the session persists in safe mode by default. 
     # (default: false) 
     # safe: false 

     # Change the default consistency model to :eventual or :strong. 
     # :eventual will send reads to secondaries, :strong sends everything 
     # to master. (default: :eventual) 
     # consistency: :eventual 

     # How many times Moped should attempt to retry an operation after 
     # failure. (default: 30) 
     # max_retries: 30 

     # The time in seconds that Moped should wait before retrying an 
     # operation on failure. (default: 1) 
     # retry_interval: 1 
    # Configure Mongoid specific options. (optional) 
    options: 
    # Enable the identity map, needed for eager loading. (default: false) 
    # identity_map_enabled: false 

    # Includes the root model name in json serialization. (default: false) 
    # include_root_in_json: false 

    # Include the _type field in serializaion. (default: false) 
    # include_type_for_serialization: false 

    # Preload all models in development, needed when models use 
    # inheritance. (default: false) 
    # preload_models: false 

    # Protect id and type from mass assignment. (default: true) 
    # protect_sensitive_fields: true 

    # Raise an error when performing a #find and the document is not found. 
    # (default: true) 
    # raise_not_found_error: true 

    # Raise an error when defining a scope with the same name as an 
    # existing method. (default: false) 
    # scope_overwrite_exception: false 

    # Skip the database version check, used when connecting to a db without 
    # admin access. (default: false) 
    # skip_version_check: false 

    # User Active Support's time zone in conversions. (default: true) 
    # use_activesupport_time_zone: true 

    # Ensure all times are UTC in the app side. (default: false) 
    # use_utc: false 

test: 
    # Configure available database sessions. (required) 
    sessions: 
    # Defines the default session. (required) 
    default: 
     # Defines the name of the default database that Mongoid can connect to. 
     # (required). 
     database: test_myApp 
     # Provides the hosts the default session can connect to. Must be an array 
     # of host:port pairs. (required) 
     hosts: 
     - localhost:28017 

蒙戈似乎表現完全正常。我該如何解決?

回答

1

看起來您沒有在您的mongoid.yml配置文件中定義測試環境。

+0

實際上我做 - 看到更新的配置文件 - 我得到同樣的錯誤 - 我應該改變端口進行測試嗎? –

+0

我看不到測試配置。我看到了兩次發展。 – Lucas

+0

對不起,這是複製/粘貼錯誤 - 已修復它 –

相關問題