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