2013-06-01 1 views
1

저는 rspec 예제 그룹에 대한 Benedikt Diecke의 게시물을 사용하여 액티브 모델 시리얼 라이저를 테스트했지만 이것을 rspec mock 대신 mocha를 사용하도록 변환하는 데 문제가 있습니다.액티브 모델 시리얼 라이저 테스트를 위해 Rspec 모의 객체를 모카로 변환

http://benediktdeicke.com/2013/01/custom-rspec-example-groups/

예는 직렬화 될 모델 클래스를 조롱하는 일반적인 방법을 포함, 그것은 RSpec에 모의 객체를 사용합니다 - 나는이 모카를 사용하여 변환 할 수 있습니까?

let(:resource) do 
    double(resource_name, attributes).tap do |double| 
     double.stub(:read_attribute_for_serialization) { |name| attributes[name] } 
    end 
end 

답변

3

모의를 사용하면 얻을 수있는 것이 많지 않습니다. 리소스 팩토리 메서드에서 실제 인스턴스를 반환 할 것입니다. 당신의 시리얼 사양이

require 'spec_helper' 

describe UserSerializer do 
    let(:resource){ FactoryGirl.build(:resource_name) } 

    it { should have_key(:name) } 
    it { should have_key(:email) } 
    it { should have_key(:created_at) } 
    it { should have_key(:updated_at) } 
end 
과 같을 것이다 전혀 그냥 다음

let(:resource) do 
    {} 
end 

및 정의 (특성)을 사용자 정의 예를 들어 그룹에하게 정의하지 마십시오