0
對於我的項目,我使用耙測試來測試我的庫。例如,我有一個方法,像connection.users.add_users(options)
Stub重複方法調用耙測試
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),循環,直到該批次結束後,再作請求並返回響應。
通常,在規格我做
let(:connection){setup_test_connection('{"batch_id": 344235}', '202')}
這將存根connection
的迴應,但在這種方法的情況下,它存根只有第一個呼叫,然後試圖讓我的服務真正的請求,所以我得到一個錯誤(超時,因爲當時服務實際上是關閉的)。
是否有任何方法來存根connection
的類方法的每個可能的電話?
能否請您就如何你真的存根你的電話信息? – binarycode
我嘗試這樣做:@mock = MiniTest :: Mock.new,然後@ mock.expect(:find,42) - 像這樣 –
我的意思是你究竟如何存留你的'連接'調用?你的問題並不清楚。 'setup_test_connection'做了什麼? – binarycode