2011-11-20 1 views
1

나는 그것을 테스트하기 위해 (ActiveRecord를 써드 파티로 처리하기 위해) 모델 스펙을 재구성하려고 시도하고있다.하지만 AR 모델을로드하는 데 문제가있다. 그래서 ..........절연 테스트 AR 모델?

응용 프로그램/모델/city.rb :

class City < ActiveRecord::Base 
    # ... 
end 

사양/모델/city_spec.rb :

그래서, 내가 뭘하고 있었는지이 있었다

기본값 인 spec_helper은 레일스를로드합니다. 느리게 피하려고합니다. 나는이 일을 시도 :

응용 프로그램/모델/city.rb :

require 'active_record' 
class City < ActiveRecord::Base 
    # ... 
end 

사양/모델/city_spec.rb : spec_helper_lite 만이

require 'spec_helper_lite' 
describe City do 
    # ... 
end 

... require 'pry' (디버깅 용); 이 아니고로드 레일을 사용합니다. 그러나이 변경으로 사양을 실행하고 City을 검사하면 두 가지 결과가 나옵니다. City(id: integer, created_at: datetime, updated_at: datetime, name: string)

후자는 저를 제공합니다 :

은 전자는 저를 제공 #<ActiveRecord::Aggregations::ClassMethods:0x3fc61647de40>

내가 전화 할 때이 문제에 이르게 뭔가 City.new 같은 : 나는 위해서는 어떻게해야합니까 무엇 ActiveRecord::ConnectionNotEstablished: ActiveRecord::ConnectionNotEstablished

레일을로드하지 않고 내 City 모델을로드하여 AR 비트를 스텁링 할 수 있습니까?

나는 ruby 1.9.3rails 3.1.1을 사용하고 있습니다.

+0

아직도 답을 찾고 있다면,이 요점을 확인하십시오 https://gist.github.com/2068977 AR 만로드하고 db 연결을 설정하십시오 – Blastula

답변

0

mock_model을 보셨습니까?

ActiveRecord 모델처럼 작동하지만 데이터베이스와 통신하지 않으므로 빨라집니다.