컨트롤러에 제 3 자 api에 연결하는 작업이 있습니다. 코드가 성공하면 내 사용자가 저장됩니다. 타사 API가 실패하면 사용자는 저장되지 않습니다.제 3 자 API로 스터 빙/조롱이 필요합니다.
def create
if ThirdPartyApp.connect.eql? true
User.create(params[:user])
else
redirect home_path
end
end
제 3 자 앱 코드에 대해 걱정할 필요없이 User.create
코드를 테스트하고 싶습니다. 나는 스터 빙 (stubbing)과 조롱 (mocking)에 대해 알고 있으며 인스턴스 메소드와 다른 클래스 메소드를 테스트한다는 차이점을 이해합니다. 타사 앱이 작동하는 데 필요한 특정 조건을 테스트에서 충족시킬 수 없기 때문에 rspec 테스트에서이 방법을 사용하는 방법을 잘 모르겠습니다. 스텁, 조롱 또는 일부 다른 방법으로이 테스트를 작성할 수있는 방법에 대한 도움이 될 것입니다.
+1 VCR은 훌륭합니다. – dusan
음,이 프로젝트에는 VCR이 있습니다. 아직 테스트에서 채택하지 않았습니다. 그것을 들여다 볼 것입니다. 감사. 아무도 더 나은 대답이 나오지 않으면 하루 이틀 안에 답변을 드리겠습니다. – jason328