0
제 프로젝트의 경우, 제 라이브러리를 테스트하기 위해 레이크 테스트를 사용합니다. 예를 들어, 내가 connection.users.add_users(options)
레이크 테스트를위한 스텁 반복 메소드
json_response = check_users(options)
batch = nil
Timeout::timeout(30) do
begin
sleep 1
batch = connection.batches.find(json_response["batch_id"])
end while batch.state !="completed"
end
connection.users.add_users(batch.target_id, options)
그래서 같은 방법을 가지고, 처음으로 내 서비스에 HTTP 요청을, 그때는 응답 (BATCH_ID) 배치가 완료 될 때까지, 루프, 후하게 서로를 얻을 응답을 요청하고 리턴하십시오.
보통 사양에 내가 connection
의 반응을 스텁 것입니다 어느
let(:connection){setup_test_connection('{"batch_id": 344235}', '202')}
을 할 수 있지만,이 방법의 경우에만 첫 번째 통화를 스터브 다음 내 서비스에 대한 실제 요청을 시도하고 그래서 오류가 발생합니다 (서비스가 실제로 그 시간에 종료 되었기 때문에 시간 초과).
connection
의 클래스 메소드를 호출 할 때마다 가능한 모든 메소드를 스텁 할 수 있습니까?
당신이 실제로 통화를 스텁 않는 방법에 대한 자세한 정보를 제공하시기 바랍니다 수 :
이 같은 가짜 내부의 요청에 스텁을 사용해야? – binarycode
나는 다음을 시도한다 : @mock = MiniTest :: Mock.new 그리고 나서 @ mock.expect (: find, 42) - 이처럼 –
은 정확히 어떻게 당신이 당신의'connection' 호출을 스텁합니까? 귀하의 질문에서 명확하지 않습니다. 'setup_test_connection'은 무엇을 하는가? – binarycode