환경은 Sinatra, Nokogiri, RSpec, FactoryGirl 및 DataMapper입니다.RSpec & DataMapper : 파인더 메소드를 올바르게 스터브하는 방법
문제는 DataMapper의 serializer에서 발생합니다. 나는 그것으로 적절히 스터브하는 법을 모른다.
문제가있는 코드 :
specify 'should return an xml array of all municipalities' do
municipalities = []
10.times { |n| municipalities << Factory.build(:municipality, :code => "Municipality no #{n}") }
Municipality.stub!(:all).and_return(municipalities)
get "/municipalities.xml"
# ^------- KABOOM!
# [.. rest of code clipped out ..]
end
코드 get
통화와 실질적으로 동일하다 :
Municipality.all.to_xml
문제는 결과 집합의 유형이 #to_xml
방법을 가지고 DataMapper::Collection
것입니다.
DataMapper::Collection
대신에 Array
의 스터브 된 인스턴스를 사용하기 때문에 내 스텁이 작동하지 않는 것 같습니다.
내 질문은 :
는어떻게 유형 DataMapper::Collection
의이고 DataMapper의 시리얼에서 제공하는 #to_xml
방법이 (FactoryGirl와) 인스턴스의 컬렉션을 만들어야합니다 ?
코드
는 Github에서에서로도 주문 가능합니다
내 비전을 넓혀 주셔서 감사합니다! :) –