对于我的项目,我使用 rake test 来测试我的库。例如,我有一个方法,比如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),循环直到批处理完成,然后发出另一个请求并返回响应。
通常,在我做的规格中
let(:connection){setup_test_connection('{"batch_id": 344235}', '202')}
这将 stubconnection
的响应,但在这种方法的情况下,它只存根第一次调用,然后尝试向我的服务发出真正的请求,因此我收到错误(超时,因为当时服务实际上已关闭)。
有什么方法可以存根所有可能connection
的类方法调用?