2012-10-23 2 views
0

레일 프로젝트의 루비에 대한 rspec 테스트를 구현하고 싶습니다.Gmap4rails를 스터드하는 방법

FactoryGirl.define do 
    factory :place do |s| 
     sequence(:name) {|n| "test place#{n}" } 
    end 
end 

factorytest_spec.rb

it "Test" do 
Place.any_instance.stub(:geocode).and_return("..") 
    8.times do 
    s = FactoryGirl.build(:shop_with_adress) 
    end 
end 

('spec_helper'을 필요로) 이제이 코드는 때로는 때로는하지, 녹색을 통과 : 클래스의 일부는

factories.rb이 gmaps4rails

를 사용합니다.

Failure/Error: s = FactoryGirl.build(:place) 
ActiveRecord::RecordInvalid: 

이 어떻게 gmaps4rails 스텁해야 (?)을 Gmaps4rails Adress invalid 오류로 boild 보인다? 나는 정확히 How to stub gmaps4rails geocode functions in rspec tests?에서 힌트를 적용하는 법을 알지 못한다. 아마도 나는 스텁/rspec에 새로운 것이기 때문에 아마도.

+0

여기를보세요 : https://github.com/apneadiving/Google-Maps-for-Rails/blob/master/spec/support/geocoding.rb#L29 – apneadiving

+0

네, 감사합니다. . 어떻게하면이 작업을 할 수 있습니까? 이 지오 코딩 모듈을 내 지원 폴더에 포함시켜야합니까 (어떻게해야합니까?). 내 스텁 메서드에 this * args를 추가해야합니까? 나는 이것을 미안하다. ( –

답변

0

Gmaps4rails.geocode (here)에 스텁을 복사하고 필요에 따라 필요에 맞게 수정할 수 있습니다.

사용자 정의에 대한

이의 결과 붙여 복사 배열 인

Gmaps4rails.geocode("your custom address") 

을하고 그것을 복사 분명히

Gmaps4rails.stub(:geocode) do |*args| 
    your_custom_array 
end 

, 나는 보석처럼, 추천을, 자신의 스펙을 만들 수 있습니다 지원 모듈.

+0

고맙다 :) 적어도 인라인은 이제 작동한다. 리팩토링을 자체 모듈에서 시도 할 것이다. –