Тестирование моделей ActiveRecord внутри гема?

Я пытаюсь извлечь набор моделей из приложения Rails 3.2.3 в гем, чтобы их можно было использовать в качестве общего интерфейса между приложениями. .

Я переместил модель в модуль и поместил ее в lib/invite_interface/invite.rb

module InviteInterface
  class Invite < ActiveRecord::Base
    belongs_to :user
  end

  def to_json; end;
  def from_json; end;
end

Я вставил rspec в gemfile, он успешно запустился, создал следующую спецификацию:

require 'spec_helper'

describe InviteInterface::EncounterSurvey do
  it 'should belong to user' do
    subject.should respond_to(:user)
  end

end

К сожалению, я не могу выполнить rspec для модели, потому что для активной записи/rspec требуется активное соединение.

1) InviteInterface::Invite should belong to encounter survey set
   Failure/Error: subject.should respond_to(:user)
   ActiveRecord::ConnectionNotEstablished:
     ActiveRecord::ConnectionNotEstablished
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:228:in `columns'
   # /Users/justin/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:243:in `column_defaults'

Как запретить ActiveRecord искать соединение с БД?

14
задан Allyl Isocyanate 15 May 2012 в 16:28
поделиться