나는 페이스 북 스타일 알림을 위해 푸셔를 사용하고 있습니다. 푸시 버튼이 트리거되었는지 테스트하기 위해 간단한 RSpec 테스트를 설정했습니다.RSpec을 사용하여 푸셔를 테스트하는 방법
scenario "new comment should notify post creator" do
sign_in_as(user)
visit user_path(poster)
fill_in "comment_content", :with => "Great Post!"
click_button "Submit"
client = double
Pusher.stub(:[]).with("User-1").and_return(client)
client.should_receive(:trigger)
end
이 테스트는 통과합니다. 그러나 동일한 코드를 사용하여 다른 테스트를 한 경우 (두 번 똑같은 테스트) 두 번째 테스트는 통과되지 않습니다. 두 번째 테스트를 동일한 파일이나 다른 파일에 넣어도 상관 없습니다. 필자는 본질적으로 Pusher를 한 번만 테스트 할 수 있습니다.
두 번째 테스트는 위해 내가 오류 ...
Failure/Error: client.should_receive(:trigger)
(Double).trigger(any args)
expected: 1 time with any arguments
received: 0 times with any arguments