2014-01-30 2 views
0

Video이라는 모델이 있습니다. 이 모델에는 #upload_video_to_depot 메서드를 실행하는 after_save 콜백이 있습니다. 이 메서드는 :file param (db에 저장되지 않음)을 사용하고 RestClient을 사용하여 원격 API에 비디오 파일을 업로드합니다.외부 API를 사용하는 방법을 테스트하십시오.

질문은 - 실제로 파일을 API로 보내지 않고 내 스펙에서 어떻게 처리할까요? 내 Video 모델과 #upload_video_to_depot 방법을 테스트해야하지만 어떻게 완료되어야하는지 상상할 수 없습니다. (나는 TDD 것에서 아주 신선합니다).

스펙에서 완전히 처리 할 수 ​​있습니까? 아니면 모델에 일부 변경이있을 수 있습니까?

답변

0

외부 요청을 스터핑하려면 WebMock 같은 보석을 사용하십시오. 어떤 요청을 보내고 어떤 매개 변수를 사용할지, 서버가 제공해야하는 응답에 대한 기대치를 설정할 수 있습니다.

이렇게하면 REST 클라이언트가 올바른 매개 변수를 올바른 위치로 보내고 응답을 올바르게 처리 할 수 ​​있습니다.

관련 문제