2013-12-12 2 views
1

내가 기능/시나리오 RSpec에 악기를 통해 계산 테스트 모델에 문제가RSpec에 통합 테스트

require 'spec_helper' 

feature 'Registration' do 
    scenario 'Guest can sign up as individual' do 
    with_role(:guest) 
    sign_up(:client) 
    Individual.count.should == 1 
    # should be replaced by expect{ sign_up(:client) }.to change{ Individual.count }.by(1) 
    end 
end 

가 어떻게 시나리오에서 기대에 블록 기대에 model.count 정상적으로 대체 할 수있다? 레코드 개수가 때마다 변경의 내가

안부, 알렉스를 사용하기 때문에 사용하지 않을해야

+0

너는 무엇을 요구하고 있니? 그 '기대하다'는 무엇이 잘못 되었습니까? – phoet

+0

왜 전화를 걸어서 전화 번호를 변경해야합니까? – usha

+0

소리가 나지 않는다. – asiniy

답변

1

은 다음 RSpec에의 변경 정규를 사용하는 올바른 방법입니다 같이

expect{ sign_up(:client) }.to change(Individual, :count).by(1) 
+0

음. 나는 이것을 지금 사용하지만, 시나리오에서 기대를 사용하는 것이 조금 복잡해 보이지 않습니까? – asiniy

+1

글쎄, 나는 정말로 그렇게 생각하지 않는다. 명세의 의도를 문서화하고 밝히는 것이 훨씬 표현적입니다. 유창한 영어와 거의 같습니다. 나는이 형식을 좋아한다. –